繁体   English   中英

Ubuntu 16.04 Vagrant盒子。 PHP 5.6 fastcgi。 我在页面上收到一般性500错误,但任何地方都没有日志

[英]Ubuntu 16.04 Vagrant box. PHP 5.6 fastcgi. I get a generic 500 error on page but no logs anywhere

新的无业游民框。 我有一个配置脚本,该脚本在进行升级测试时使用fastcgi设置PHP 5.6和7.1,因此希望切换版本。 从启用PHP5.6开始。

虚拟主机如下:

ServerName local
DocumentRoot /var/www/html
<IfModule mod_fastcgi.c>
    AddHandler php56-fcgi-www .php
    Action php56-fcgi-www /php56-fcgi-www
    Alias /php56-fcgi-www /usr/lib/cgi-bin/php56-fcgi-www
    FastCgiExternalServer /usr/lib/cgi-bin/php56-fcgi-www -socket /run/php/php5.6-fpm.sock -idle-timeout 1800 -pass-header Authorization
    <Directory "/usr/lib/cgi-bin">
        Require all granted
    </Directory>
</IfModule>

<IfModule mod_fastcgi.c>
    AddHandler php71-fcgi-www .php
    Action php71-fcgi-www /php71-fcgi-www
    Alias /php71-fcgi-www /usr/lib/cgi-bin/php71-fcgi-www
    FastCgiExternalServer /usr/lib/cgi-bin/php71-fcgi-www -socket /run/php/php7.1-fpm.sock -idle-timeout 1800 -pass-header Authorization
    <Directory "/usr/lib/cgi-bin">
        Require all granted
    </Directory>
</IfModule>

<IfModule mod_fastcgi.c>
    <FilesMatch ".+\.ph(p[345]?|t|tml)$">
        SetHandler php56-fcgi-www
    </FilesMatch>
</IfModule>

<Directory "/var/www/">
    AllowOverride All
</Directory>

<VirtualHost *:80>
    DocumentRoot /var/www/html/mysite/public-www
    ServerName mysite.local

    <IfModule mod_fastcgi.c>
        <FilesMatch ".+\.ph(p[345]?|t|tml)$">
            SetHandler php56-fcgi-www
        </FilesMatch>
    </IfModule>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /var/www/phpmyadmin
    ServerName phpmyadmin.mysite.local

    <IfModule mod_fastcgi.c>
        <FilesMatch ".+\.ph(p[345]?|t|tml)$">
            SetHandler php56-fcgi-www
        </FilesMatch>
    </IfModule>
</VirtualHost>

PHPMyAdmin功能正常。 但是正在访问的mysite.local显示的是通用浏览器500错误。 我添加了一个phpinfo.php来检查我的设置。 我很高兴分享整个输出,但是这里是相关的基础知识:

display_errors = On
error_reporting = E_ALL
error_log = /var/log/php_errors.log

我发现上面的错误文件不是在错误时创建的,因此我手动创建了该文件并将其chmod更改为0777以作好玩。 看到500负载后,它仍然是空的。 我还检查了/ var / log / apache2日志。 访问日志显示500响应,但error_log中没有任何内容。 还查看了php5.6-fpm.log。 没有。

问题很简单:如何找到500错误的原因?

的帮助下解决了这个这个答案涉及nginx的一个问题。 我发现此代码中使用@silencer运算符包含三行包含行。 删除@后,屏幕上和上面定义的日志文件中显示的错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM