Исправил обратную связь. Плагин cforms.

Сегодня заметил, что после переноса блога на новый хостинг у меня не работает форма обратной связи на странице Обратная связь. Помочь решить эту проблему помогли логи :) Даже не представляю, что бы мы без них делали. В общем было бы трудно. Ниже заметка для самого себя как я решил эту проблему.

Сначал посмотрел, что говорят логи апача:

1
2
3
4
$ sudo tail -n 30 /var/log/apache2/error.log
...
PHP Warning:  require_once(/var/www/vhosts/igorka.com.ua/wp-config.php): failed to open stream: No such file or directory in ./wp-content/plugins/cforms/lib_ajax.php on line 15, referer: http://igorka.com.ua/feedback/
PHP Fatal error:  require_once(): Failed opening required '/var/www/vhosts/igorka.com.ua/wp-config.php' (include_path='.:/usr/share/php:/usr/share/pear') in ./wp-content/plugins/cforms/lib_ajax.php on line 15, referer: http://igorka.com.ua/feedback/

Судя по всему один из файлов плагина (а может и не плагина) искал файл wp-config.php по абсолютному пути (/var/www/vhosts/igorka.com.ua), который был правильным на предыдущем хостинге. На новом хостинге у меня абсолютный путь другой. Поэтому нужно было просто изменить его на правильный. Но сначала нужно было найти файл в котором содержится эта запись. Здесь на помощь пришла команда grep которая моментально выдала нужный файл:

1
2
$ grep -r -n "/var/www/vhosts" ./*
./wp-content/plugins/cforms/abspath.php:1:<?php $abspath = '/var/www/vhosts/igorka.com.ua/'; ?>

Открываем файл ./wp-content/plugins/cforms/abspath.php редактором nano и изменяем строку /var/www/vhosts/igorka.com.ua/ на правильную. Все. Форма обратной связи снова работает! Проблема решена. Результат достигнут :)

Статьи и новости схожей тематики:

Оставьте свой отзыв