我目前正在尝试在 Ubuntu 上启动并运行 php、apache 和 mysql。我最近从 Windows 切换到 Ubuntu 进行学习。但我遇到了一点问题。当代码正确时,文件会在浏览器中正确执行,而当出现语法错误时,它不会在浏览器中显示错误,而是会抛出错误,如图所示。
我已经通过 phpinfo() 检查了我的 php 设置,其内容如下。 php信息
我认为错误报告已启用,我尝试阅读各个主题中的其他类似问题,但它们并没有真正帮助我。他们指出我需要验证 .htaccess 文件是否完好无损。我不太确定如何验证,有人能帮我吗?我也尝试将目录权限更改为 777 和 755,但这也没有帮助。有什么想法可以解决它吗?
答案1
您的display_errors
指令设置为no
。
修复这个问题:
编辑
/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
使用以下命令重新启动 Apache:
sudo systemctl restart apache2
cli
要在编辑上有相同的行为/etc/php/7.0/cli/php.ini
要在本地设置此值,请将其添加到
.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
。更改为您的特定版本。在您的图片中,local
和master
值都设置为Off
:
step 1
将改变master value
,并且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