问题:PHP - 有没有隐藏 fopen 警告?

到目前为止我已经尝试过

编辑php.ini为allow_url_open = on;

我试过将error_reporting(0)设置为 0。我也试过ini_set('display_errors', 0)。我仍然在我的页面中收到警告。我也试过@fopenfile_get_contents......这是代码:

<?php 
/**
*   Image Detect - Do we have images on the CDN v2
**/
    $cdnurl="http://www.****-cdn.com/";
    $pid=$product_info['sku']; // database variable decalred earlier in page
    $oldfile="".$cdnurl."catwalk/movies/".$pid.".flv";
    $newfile="".$cdnurl."assets/".$pid."/v/".$pid.".swf";
    $combi=0; // out variable
    if(@fopen($oldfile,"r")===TRUE){
        $combi=1;
    } else {
        if(@fopen($newfile,"r")===TRUE){
            $combi=2;
        } else {
            $combi=3;
        }
    }

?>

警告:fopen(http://www.*-cdn.com/catwalk/movies/564_white.flv):打开流失败:HTTP 请求失败! HTTP/1.1 404 未在 /var/www/www.sitedev.com/web/template.inc.php 中找到

警告:file_get_contents(http://www.*-cdn.com/catwalk/movies/564_white.flv):打开流失败:HTTP 请求失败! HTTP/1.1 404 未在 /var/www/www.sitedev.com/web/template.inc.php 中找到

这些是警告......我已经广泛搜索并尝试使用===FALSE==FALSE但我无法隐藏警告。我知道该文件不存在,但我只想跳过它,此代码适用于具有相同设置的其他服务器和其他云 nginx 服务器。

phpinfo(); shows

allow_url_fopen     On      On
allow_url_include   Off     Off
error_reporting     no value    no value

感谢任何帮助,我的第一个问题,所以轻松点!

** 更新 ****

我希望这没问题。该网站说我可以回答我自己的问题。

问题与脚本有关。我使用 OpenCart 电子商务平台,在那个软件中有一个叫做 - set_error_handler - 这完全覆盖了其他所有东西。

因此,将来由于 Opencart 被这些查询臃肿,请访问 /opencart root/index.php 并找到“set_error_handler('error_handler');”并将其替换并注释掉。

// 错误处理程序 //set_error_handler('error_handler');

解答

“因此,将来由于 Opencart 被这些查询臃肿,请访问 /opencart root/index.php 并找到“set_error_handler('error_handler');”并将其替换并注释掉。”

找到已设置为错误处理程序的函数error_handler并更改在这种情况下被击中的错误类型的行为会更明智。注释掉所提到的行会导致您的应用程序恢复到 PHP 的标准错误处理,这可能是不希望的。

Logo

开发云社区提供前沿行业资讯和优质的学习知识,同时提供优质稳定、价格优惠的云主机、数据库、网络、云储存等云服务产品