【问题标题】:Blank PHP page on ApacheApache 上的空白 PHP 页面
【发布时间】:2017-05-23 14:04:33
【问题描述】:

我正在尝试将 OpenX 广告服务器迁移到新服务器。 Apache、MySQL、PHP均已安装,但从任何浏览器访问该站点时,都会显示一个空白页面。

我试过用 phpinfo(); 放置一个单行的 .html 文件和一个 PHP 文件。在其中 - 两者都可以正常工作,PHP 文件显示所有相关信息,但默认管理登录页面不会加载。

文件结构和数据库是从以前的服务器(一切正常)复制过来的,我已经修改了 Apache 虚拟服务器设置,让它显示到文件所在的当前目录。

新服务器上的操作系统是 Ubuntu 14.04 LTS。

有什么想法可能会出错吗?

【问题讨论】:

    标签: php mysql apache


    【解决方案1】:

    默认情况下,当发生错误时,PHP 会显示一个空白页面。检查您的 error.log 或将以下内容添加到您的 PHP:

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

    【讨论】:

    • Apache error.log 有大量错误,例如:'PHP 严格标准:非静态方法 Net_IPV4::ip2double() 不应在 /var/www/adserver.ekomediagroup.ro 中静态调用/lib/pear/Net/IPV4.php 在第 442' 行,出现 ipInNetwork 和 parseAddress 而不是 ip2double。此外,还有一些错误,例如:“PHP 致命错误:在非对象上调用成员函数 query()”
    • 静态调用非静态方法是deprecated in PHP7。看起来您的服务器运行的 PHP 版本比应用程序需要的新版本。
    • 它正在运行 5.5.9。旧服务器可能运行的是旧版本。简单地恢复到那个版本就可以解决问题吗?
    • 它会:恢复到 5.4 之前的任何 PHP 版本都会修复它,但是你正在使用不受支持的版本。最好的解决方案是编辑您的 php.ini 并从错误报告中排除 E_STRICT 警告:error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT 原因是默认情况下,错误报告设置为 E_ALL,但是在 PHP 5.4 之前,组 E_ALL 不包括 E_STRICT 错误。
    • 我检查了 php.ini 文件,该文件当前有error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT,它会排除这些错误,尽管它没有。无论如何,这不会只禁用错误报告吗?我更担心致命错误Call to a member function query() on a non-object
    猜你喜欢
    • 1970-01-01
    • 2014-01-31
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多