linux — необъяснимая ошибка PHP (внутренняя ошибка сервера 500)

Недавно я переместил свой сайт с общего веб-хоста на VPS и настроил apache2 / vsftpd и все такое.

После дня, связанного со всем, я, наконец, заставил все это работать, но у меня возникла проблема с загрузкой файла PHP в браузер.

PHP не отображает ошибок, и когда я нажимаю F12 в chrome при загрузке я вижу флэш-журнал консоли GET: [mydomain]/api/myfile.php 500 (Internal Server Error)

Я думал, что это как-то связано с тем, что я пытался сделать в файле, но он отлично работал, когда на странице, где находится форма, и jQuery это вызывал.

Однако, так как я хотел возвращать определенные сообщения (и только эти сообщения), я хотел, чтобы это было на пустой странице, чтобы я мог просто выводить их.

Итак, я создал новую страницу, загрузил ее через vsftpd и открыл его в своем браузере, так как я ничего не POSTING, я ожидал, что он отобразит «Нет данных POST», как я сделал это, когда $_POST['userStatus'] не установлен, но получил только пустую белую страницу.

Я попытался изменить файл, чтобы просто
<?php echo "Test"; ?> но это тоже не сработало. Я получаю те же ошибки.

Я подумал, может быть, это может быть разрешения www-data не имея возможности получить к нему доступ,

так я и сделал chown -R www-data /home/myuser/mysite/public_htmlи перезапустил apache2, но все равно не повезло.
Это фактически запретило моему пользователю FTP продолжать загрузку, поэтому мне пришлось chown -R myuser /home/myuser/mysite/public_html заставить его снова работать.

Это может быть что-то с разрешениями? Может быть неправильная конфигурация в apache?

мой .htaccess файл не был изменен с тех пор, как он в последний раз работал должным образом, поэтому я не слишком уверен, что это будет виновником.


В случае, если это важно:

Я использую Apache2.2 на Debian Wheezy
Мой файл php.ini настроен на отображение ошибок
я добавил error_reporting(E_ALL) а также ini_set('display_errors', 1) но все еще нет ошибок
php -l myfile.php возвращается No syntax errors detected in myfile.php
В настоящее время файл содержит только <?php echo "Test"; ?> и до сих пор ничего.
Пользователь FTP имеет соответствующие разрешения для загрузки, перезаписи, удаления файлов и создания / удаления каталогов
Я попытался удалить файл / повторную загрузку, перезапустить apache и попытался создать файл как root (используя vim)
я пытался Empty Cache and Hard Reload чтобы убедиться, что это не просто загрузка кэшированной версии страницы

Остальная часть сайта и поддоменов работают отлично.


мой /var/log/apache2/error.log файл:

[Mon Jul 27 05:16:45 2015] [error] [client] PHP Warning: Unknown: failed to open stream: Permission denied in Unknown on line 0
[Mon Jul 27 05:16:45 2015] [error] [client] PHP Fatal error: Unknown: Failed opening required '/path/to/dir/api/myfile.php' (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0


мой .htaccess файл:

RewriteEngine On
Options -Indexes

ErrorDocument 404 https://my-main-site/404
ErrorDocument 403 https://my-main-site/404
ErrorDocument 500 https://my-main-site/500.shtml

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^u/(.*)$ /profile.php?user=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^u/(.*)/friends$ /profile.php?user=$1&friends [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^404$ /x/includes/errors/404.php [L]

Редактировать: полное удаление файла и создание нового в качестве пользователя root (отображается в браузере). Тем не менее, я не могу перезаписать / изменить файл как пользователь FTP.

дела chown www-data myFile.php и / или chown myftpuser myFile.php оба делают файл снова не загружаемым.

Я только что снова выбрал myftpuser myFile.php, чтобы вернуть моему пользователю ftp право собственности на этот файл.

Все остальные файлы / каталоги на сайте принадлежат моему пользователю ftp, поэтому я не понимаю, как это могло бы произойти.

0

Решение

Похоже, вам нужно добавить своего пользователя FTP в группу www-data и сделать вашу группу проектов читабельной / доступной для записи.

1

Другие решения

Других решений пока нет …