PHP-本地主机目前无法处理此请求。HTTP 错误 500

PHP-本地主机目前无法处理此请求。HTTP 错误 500

我目前正在尝试在 Ubuntu 上启动并运行 php、apache 和 mysql。我最近从 Windows 切换到 Ubuntu 进行学习。但我遇到了一点问题。当代码正确时,文件会在浏览器中正确执行,而当出现语法错误时,它不会在浏览器中显示错误,而是会抛出错误,如图所示。

HTTP 500 错误

我已经通过 phpinfo() 检查了我的 php 设置,其内容如下。 php信息

我认为错误报告已启用,我尝试阅读各个主题中的其他类似问题,但它们并没有真正帮助我。他们指出我需要验证 .htaccess 文件是否完好无损。我不太确定如何验证,有人能帮我吗?我也尝试将目录权限更改为 777 和 755,但这也没有帮助。有什么想法可以解决它吗?

答案1

您的display_errors指令设置为no

修复这个问题:

  1. 编辑/etc/php/7.0/apache2/php.ini并设置:

    ; display_errors
    ;   Default Value: On
    ;   Development Value: On
    ;   Production Value: Off
    
    ; display_startup_errors
    ;   Default Value: Off
    ;   Development Value: On
    ;   Production Value: Off
    
    
    #to 
    
    ; display_errors
    ;   Default Value: On
    ;   Development Value: On
    ;   Production Value: On
    
    ; display_startup_errors
    ;   Default Value: On
    ;   Development Value: On
    ;   Production Value: On
    
  2. 使用以下命令重新启动 Apache:

    sudo systemctl restart apache2
    
  3. cli要在编辑上有相同的行为/etc/php/7.0/cli/php.ini

  4. 要在本地设置此值,请将其添加到.htaccess服务器根目录中的文件中:/var/www/html

    vim .htaccess

i

输入以下内容:

    # Displaying php errors
    php_flag display_errors on
    php_value error_reporting 6143


Esc
:x
Enter

笔记:

我的是php version 7.0。更改为您的特定版本。在您的图片中,localmaster值都设置为Off

  1. step 1将改变master value,并且

  2. step 4将会改变local value

答案2

您只需将以下代码行添加到您的 PHP 文件进行临时配置

error_reporting(E_ALL);
ini_set('display_errors', 1);

答案3

你现在可以用这种方法修复

1:/etc/php/7.0/apache2/php.ini

2:;error_reporting 默认值:E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED 开发值:E_ALL 生产值:E_ALL & ~E_DEPRECATED & ~E_STRICT 3:sudo systemctl restart apache2

相关内容