Разница PHP между терминалом и браузером

На моем Ubuntu установлен Neo4J, и я запускаю тестовый код. Он отлично работает, когда код работает на терминале, например:

root@ekin-Inspiron-1090:/var/www# php neo.php
home: demolished
name: Arthur Dent

Но когда дело доходит до запуска в браузере, таком как localhost/neo.php, он выдает фатальную ошибку и перестает работать.

Warning: require(phar://neo4jphp.phar): failed to open stream: operation failed in /var/www/neo.php on line 4 Fatal error: require(): Failed opening required 'phar://neo4jphp.phar' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/neo.php on line 4 

Я не думаю, что это действительно что-то с Neo4J или его драйвером PHP. Что должно быть причиной?

редактировать: кстати, есть два файла php.ini; я думаю, один для apache и один для командной строки. Я проверил оба из них, и пути расширения phar одинаковы. Также в обоих из них нет настроек include_path.


person gzg    schedule 11.07.2012    source источник
comment
Это может быть сообщение о том, что у вас нет доступа к файлу.   -  person Cole Johnson    schedule 11.07.2012
comment
командная строка запускается под ВАШИМ идентификатором пользователя, апач запускается под своим собственным идентификатором пользователя. Убедитесь, что у пользователя apache есть доступ к файлу phar.   -  person Marc B    schedule 11.07.2012
comment
Скорее всего, это проблема с правами доступа, поскольку в примере показан пользователь, работающий как root.   -  person SilverSnake    schedule 11.07.2012
comment
@MarcB, как я могу изменить разрешение пользователя apache на файл phar?   -  person gzg    schedule 11.07.2012
comment
@MarcB, большое спасибо! Я пытался решить эту проблему в течение 3 дней. Я даю своему пользователю apache (www-data) доступ к /var/www, и он решает эту проблему.   -  person gzg    schedule 12.07.2012


Ответы (1)


Это ошибка авторизации. Apache работает под своим собственным пользователем, поэтому вам нужно предоставить пользователю apache доступ к папке www.

person user2843016    schedule 03.10.2013