[英]Hide common PHP warning and Notices
剧情:首先,我与GodDaddy一起创建了一个站点,了解了他们出色的CPanel和更酷的停机时间,然后我转到了Digital Ocean VPS。
问题:但是,当我将文件传输到VPS时,出现一些常见/不常见的PHP错误。 使用Godaddy时我没有看到任何错误。 其中一些是。
Notice: Undefined variable: q in /srv/users/someuser/apps/video/public/config.php on line 7
和
Notice: curl_setopt(): CURLOPT_SSL_VERIFYHOST no longer accepts the value 1, value 2 will be used instead
我现在正在使用PHP 5.4(在nginx上,LEMP安装)。 隐藏这些错误的任何方法都可以使我的网站正常运行,即使出现这些错误也是如此。
我会考虑解决问题,而不是抑制通知和错误消息。 可能现在需要做更多的工作,但我认为值得付出最后的努力,以便最终拥有一个完整的运行和正常运行的程序-如果Digital Ocean更新库,您的代码将被破坏。
Notice: Undefined variable: q in /srv/users/someuser/apps/video/public/config.php on line 7
该通知告诉您没有设置变量,以及在哪个文件和哪一行中。 因此,您只需要转到该文件,看看第7行发生了什么,然后尝试对其进行修复。 看起来根本不需要$ q,因此如果其他位置需要该变量,请尝试注释掉该行或对文件进行更深入的了解。
Notice: curl_setopt(): CURLOPT_SSL_VERIFYHOST no longer accepts the value 1, value 2 will be used instead
值1的CURLOPT_SSL_VERIFYHOST已过时,从libcurl 7.28.1起将被删除。 建议改用值2。
考虑查看正在运行curl的文件,并从任一行更改行
CURLOPT_SSL_VERIFYHOST => true or CURLOPT_SSL_VERIFYHOST => 1
至:
CURLOPT_SSL_VERIFYHOST => 2,
看起来GoDaddy使用了不同库的过时(旧)版本。
curlopt设置现在可能是警告,但是一旦Digital Ocean更新了它们的库或您更新了它们,它们就会中断程序。
在脚本顶部添加以下内容
error_reporting(0);
在您的php.ini文件中,有两个变量供您考虑。 第一个是捕获的错误级别,第二个是是否在屏幕上显示它们。
error_reporting = E_ALL & ~E_DEPRECATED
display_errors = Off
调整这些将为您提供所需的输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.