У меня есть PHP-проект, который отлично работает в Windows.
сейчас я развертываю проект на Centos Linux Server.
define('INCLUDES_PATH', ROOT_PATH.'cms-includes/');
ini_set('include_path',INCLUDES_PATH.':'.ini_get('include_path'));
так что INCLUDES_PATH
-->C:\xampp\htdocs\cms-includes
Я столкнулся с проблемой одного пути в Linux. В Linux мое местоположение проекта —/var/www/web_loan/xampp/htdocs\...cms-includes
Теперь возникает проблема с установкой пути для . Как это сделать в Linux, если на сервере C:\
нет местоположения.C:\
какой тип пути мне следует указать?
Ошибка выглядит так
Fatal error in line 15 of file/var/www/web_loan/xampp/htdocs/cms-includes/init.inc.php
- require_once(INCLUDES_PATHpear.mysql.php): failed to open stream: No such file or directory
PHP Fatal error: require_once(): Failed opening required 'INCLUDES_PATHpear.mysql.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/web_loan/xampp/htdocs/cms-includes/init.inc.php on line 15.
ЛИНИЯ № 15 выглядит такinit.inc.php
require_once(INCLUDES_PATH . 'pear.mysql.php');
Должен ли я определить INCLUDES_PATH в соответствии с Linux defines.inc.php
?
решение1
Буквы дисков, такие как C:
, D:
и т. д., не существуют в Unix/Linux. Какой бы файл там ни был, вы найдете его где-то в /
. Обратите внимание, что разделителем каталогов в Unix/Linux является /
, а не \
.
Учитывая то, что вы написали, замените C:\
на /var/www/web_loan
и замените все обратные косые черты ( \
) на прямые косые черты ( /
)
решение2
Сначала проверьте, что файл там есть. В командной строке введите:
ls -l /var/www/web_loan/xampp/htdocs/cms-includes/init.inc.php
это также должно показать вам владельца файла. Убедитесь, что пользователь, запустивший apache, может читать этот файл. Обычно это пользователь www-data
. Если нет, выполните это:
chown www-data:www-data /var/www/web_loan/xampp/htdocs/cms-includes/init.inc.php
Попробуйте указать абсолютный путь в вашем require
выражении:
require_once('/var/www/web_loan/xampp/htdocs/cms-includes/pear.mysql.php');
Если это работает, возможно, константная переменная определена неправильно.
EDIT: chown, а не chmod