Установка CakePHP 3.1: Внутренняя ошибка сервера 500

Я установил CakePHP 3.1 на свой сервер apache через композитор, но после этого получаю ошибку 500. Файл .htaccess выглядит хорошо. «AllowOverride All» имеет значение All для vhosts и */htdocs. Журнал показывает эту строку: [Thu Sep 24 10:15:20.193955 2015] [:error] [pid 7231:tid 2761524324096] (104)Connection reset by peer: [client 89.x.x.x:42930] FastCGI: failed to read from backend server

Поскольку мой хост - Ганди, я искал там несколько подсказок:

Эта ошибка указывает на то, что служба Apache не получила ответа от интерпретатора (PHP, node.js, Python и т. д.) и поэтому не смогла доставить запрошенную страницу. При возникновении этой ошибки следует проанализировать журналы интерпретатора, чтобы найти ошибку, являющуюся источником проблемы.

Итак, что мне теперь делать? каталог журналов CakePHP показывает только пустой файл с именем «пусто». Я надеюсь, что кто-то может дать мне подсказку, как я могу решить проблему.

PS: При установке CakePHP я получил следующие ошибки, которые я думал, что могу игнорировать, так как установка продолжалась: Cannot create cache directory /srv/data/.composer/cache/[...] , or directory is not writable. Proceeding without cache


person Shaun    schedule 24.09.2015    source источник
comment
возможный дубликат вопроса о CakePHP chmod   -  person Lars Ebert    schedule 24.09.2015
comment
Как говорится в подсказке, вам, вероятно, следует начать с проверки журналов интерпретатора, то есть PHP (не CakePHP) и, возможно, журналы PHP-FPM. Свяжитесь со своим хостером, если вы не знаете, где находятся эти журналы.   -  person ndm    schedule 24.09.2015
comment
@ndm fpm.log говорит следующее: [24-Sep-2015 11:48:51] WARNING: [pool www] child 7661 exited on signal 7 (SIGBUS) after 97.890442 seconds from start   -  person Shaun    schedule 24.09.2015
comment
Ну, я не эксперт по Apache/PHP-FPM, но из-за разницы во времени и pid это вряд ли связано. Я предлагаю вам проверить это с помощью базового необработанного PHP-скрипта, чтобы проверить, имеет ли CakePHP какое-либо отношение к этому, и если это на самом деле не так, то вам лучше обратиться за помощью по адресу сбой сервера.   -  person ndm    schedule 24.09.2015
comment
Время одинаково для обеих записей, я просто запускал строки несколько раз и не копировал одни и те же строки в одно и то же время. Я только что попробовал еще раз, и в error.log, и в fpm.log появилась новая запись за одну и ту же секунду. В любом случае спасибо, я буду следовать вашим другим предложениям.   -  person Shaun    schedule 24.09.2015
comment
PS не имеет значения и просто отвлекает - лучше удалить. Если папка журнала CakePHP пуста, то запроса по CakePHP в принципе не было - до этого что-то не так/сломалось.   -  person AD7six    schedule 24.09.2015


Ответы (1)


Второе сообщение об ошибке указывает на то, что ваши временные каталоги недоступны для записи. CakePHP пытается поместить туда некоторые файлы, чтобы кэшировать их, но это не удается, так как каталоги не могут быть созданы.

Вы можете сделать каталоги доступными для записи, выполнив эту команду в консоли (при условии, что у вас есть доступ через SSH) или обратившись за помощью к вашему хосту.

chmod -R 755 <the actual cakephp directory>
person Lars Ebert    schedule 24.09.2015
comment
На самом деле ошибка вызвана Composer, а не от CakePHP. - person ndm; 24.09.2015
comment
Для этого мне нужно изменить права .composer/cache. Но этот каталог не существует. Ни до, ни после установки. Права в каталоге phpcake выглядят нормально: i.imgur.com/ysJrzx4.png - person Shaun; 24.09.2015
comment
Вы должны изменить права каталога .composer перед установкой, чтобы каталог кэша мог быть создан в первую очередь. - person Lars Ebert; 24.09.2015
comment
К сожалению, у меня нет прав на создание каталога .composer вручную в /srv/data. Похоже на ограничение от хостера. - person Shaun; 24.09.2015
comment
Уведомление об установке композитора не связано ни с чем, что вы видите через http-запрос. - person AD7six; 24.09.2015