繁体   English   中英

隐藏常见的PHP警告和注意事项

[英]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更新了它们的库或您更新了它们,它们就会中断程序。

您可以根据文档更改php.ini文件,并避免错误:

error_reporting = E_ALL & ~E_NOTICE

这将删除通知和编码标准警告。

在脚本顶部添加以下内容

 error_reporting(0);

在您的php.ini文件中,有两个变量供您考虑。 第一个是捕获的错误级别,第二个是是否在屏幕上显示它们。

error_reporting = E_ALL & ~E_DEPRECATED

display_errors = Off

调整这些将为您提供所需的输出。

暂无
暂无

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

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