【问题标题】:CakePHP 3.1 installation: Internal Server Error 500CakePHP 3.1 安装:内部服务器错误 500
【发布时间】:2015-09-24 10:33:06
【问题描述】:

我已经通过 composer 在我的 apache 服务器上安装了 CakePHP 3.1,但之后我收到 500 错误。 .htaccess 文件看起来不错。对于 vhost 和 */htdocs,“AllowOverride All”设置为 All。日志显示这一行: [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

由于我的宿主是 Gandi,所以我在那里查找了一些提示:

此错误表明 Apache 服务未从解释器(PHP、node.js、Python 等)获得响应,因此无法传递请求的页面。发生此错误时,您应该分析解释器的日志,以便搜索问题根源所在的错误。

那么,我现在该怎么办? CakePHP 的日志目录只显示一个名为“empty”的空文件。我希望有人能给我一个提示,我该如何解决这个问题。

PS:在安装 CakePHP 时,我收到以下错误,我认为可以忽略,因为它继续安装: Cannot create cache directory /srv/data/.composer/cache/[...] , or directory is not writable. Proceeding without cache

【问题讨论】:

  • CakePHP chmod question的可能重复
  • 正如提示所说,您可能应该从检查解释器日志开始,即 PHP(不是 CakePHP)和可能的 PHP-FPM 日志。如果您不知道这些日志在哪里,请联系您的托管服务商。
  • @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
  • 好吧,我不是 Apache/PHP-FPM 专家,但从时间和 pid 差异来看,这似乎几乎没有关系。我建议您使用一个基本的原始 PHP 脚本来检查此内容,以测试 CakePHP 是否有任何相关之处,如果事实并非如此,那么您最好在serverfault 寻求帮助。
  • 两个条目的时间相同,我只是触发了几次,并没有复制同一时间的相同行。我刚刚又试了一次,error.log 和 fpm.log 在同一秒内都有一个新条目。无论如何,谢谢你,我会遵循你的其他建议。

标签: apache cakephp fastcgi cakephp-3.1


【解决方案1】:

第二条错误消息表明您的临时目录不可写。 CakePHP 尝试在其中放置一些文件以缓存它们,但失败了,因为无法创建目录。

您可以通过在控制台中执行此命令(假设您可以通过 SSH 访问)或向您的主机寻求帮助来使目录可写。

chmod -R 755 <the actual cakephp directory>

【讨论】:

  • 这个错误实际上是stems from Composer,而不是来自CakePHP。
  • 为此,我需要获得 .composer/cache 的权利。但是这个目录不存在。安装前后都没有。 phpcake 目录中的权限看起来不错:i.imgur.com/ysJrzx4.png
  • 安装前要更改.composer目录的权限,所以可以先创建缓存目录。
  • 遗憾的是,我没有权限在 /srv/data 手动创建 .composer 目录。看起来像是来自主机的限制。
  • 作曲家安装通知与您通过 http 请求看到的任何内容无关。
猜你喜欢
  • 2014-04-10
  • 1970-01-01
  • 1970-01-01
  • 2015-06-11
  • 2014-03-23
  • 2013-10-16
  • 2013-12-04
  • 2016-12-28
  • 1970-01-01
相关资源
最近更新 更多