【问题标题】:Fatal error: Call to undefined function Cube\Config\simplexml_load_file() in /library/Cube/Config/Xml.php on line 60致命错误:在第 60 行的 /library/Cube/Config/Xml.php 中调用未定义函数 Cube\Config\simplexml_load_file()
【发布时间】:2015-10-15 18:47:54
【问题描述】:

我正在安装 PHPProBid 拍卖脚本,但突然出现此错误:

致命错误:在第 60 行的 /home/admin/webserendibite.ir/library/Cube/Config/Xml.php 中调用未定义函数 Cube\Config\simplexml_load_file()

配置:CentOS 5,Apache httpd,php 5.6,froxlor面板 php信息页面:http://www.webserendibite.ir/phpInfo.php ionloader 安装页面:http://webserendibite.ir/ioncube/loader-wizard.php

这是这个函数:

/** * * 将输入转换为\SimpleXMLElement,然后将xml处理成数组 * * @param mixed $input 输入变量,它可以是一个xml文件的路径,一个xml格式的字符串或者一个\SimpleXMLElement类型的对象 * @return \Cube\Config\Xml */

public function setData($input)
{
    $xml = null;

    if ($input instanceof \SimpleXMLElement) {
        $xml = $input;
    }

    else if (file_exists($input)) {
        $xml = simplexml_load_file($input);

    }

    else {
        $xml = simplexml_load_string($input);
    }

    $this->_data = json_decode(json_encode((array)$xml), 1);

    return $this;
}

感谢您的帮助:)

【问题讨论】:

    标签: php xml apache centos5 ioncube


    【解决方案1】:

    我尝试在 phpprobid 中创建新的控制器,但收到错误 404 错误

    找不到您要查找的页面。

    尝试检查 URL 是否有错误,然后点击浏览器上的刷新按钮。

    这是我休闲的过程

    **//created route**
      'app-test'         => array(
            'test',
            array(
                'controller' => 'test',
                'action'     => 'index',
            ),
        ),
    
    
     **//controller**
    
    namespace App\Controller;
    
    use Ppb\Controller\Action\AbstractAction,
    Cube\Controller\Front,
    Cube\View,
    Cube\Validate\Url as UrlValidator,
    Cube\Controller\Request,
    Ppb\Service;
    
    
    class Test extends AbstractAction
    {
    public function Index()
    {
        die('ok');
    }
    public function test()
    {
        die('ok');
    }
    }
    

    谢谢

    【讨论】:

      【解决方案2】:

      最后一次尝试访问页面的错误日志:[Sat Jul 25 21:44:01 2015] [notice] 捕获 SIGTERM,正在关闭 加载/usr/lib/kloxophp/ioncube/ioncube_loader_lin_5.2.so 失败:/usr/lib/kloxophp/ioncube/ioncube_loader_lin_5.2.so:未定义符号:执行 [Sat Jul 25 21:45:43 2015] [notice] 启用 suEXEC 机制(包装器:/usr/sbin/suexec) [2015 年 7 月 25 日星期六 21:45:43] [警告] RSA 服务器证书通配符 CommonName (CN) *.lxlabs.com' does NOT match server name!? [Sat Jul 25 21:45:43 2015] [notice] Digest: generating secret for digest authentication ... [Sat Jul 25 21:45:43 2015] [notice] Digest: done [Sat Jul 25 21:45:44 2015] [warn] RSA server certificate wildcard CommonName (CN)*.lxlabs.com' 与服务器名称不匹配!? [2015 年 7 月 25 日星期六 21:45:44] [通知] Apache/2.2.27 (Unix) DAV/2 PHP/5.6.11 mod_ssl/2.2.27 OpenSSL/0.9.8e-fips-rhel5 已配置 -- 恢复正常操作

      【讨论】:

      • 您可能使用了错误版本的 ioncube 加载程序。见此链接:kb.odin.com/en/121962
      • 我已经根据watchmy.domains/tutorials/install-ioncube.php(php 5.6 版和 ioncube_loader_lin_5.6.so 和 ioncube_loader_lin_5.6_ts.so 添加到 php.ini 中)完成了 ioncube 安装,我的 webserendibite.ir/phpInfo.php 表明ioncube 安装正确。
      • 我已经根据stackoverflow.com/questions/21083506/…(带有绿色标记的答案)进行了全新安装,并将 extension= /usr/lib/modules/simplexml.so 添加到 php.ini 之后 @987654325 @ 表示 simplexml 更改为启用状态,但从现在开始主页变为空白。
      • @user3238904 您的php.ini 中应该只有一个带有ionCube Loader 的zend_extension 条目。您可以通过查看phpinfo() 的输出来确定您是否具有线程安全(附加_ts)或非线程安全(没有附加到加载程序文件名)。如果您的错误消息仍然表明 ionCube Loader 存在问题,您可以在 support.ioncube.com 处开一个工单(最好在工单中包括您的错误日志、phpinfo() 的 HTML 文档输出和 php.ini)。
      • 我根据你所说的更正了这个问题,现在我没有收到任何关于 ioncube 的错误或警告,现在我确定 simplexml 是根据我的 phpinfo 和测试页面安装的 (webserendibite.ir/simpexml.php ) 现在我在 apache 和 php 错误日志中都没有收到任何错误或警告,但我的网站主页仍然有空白的 php 页面
      【解决方案3】:

      您的服务器似乎缺少 SimpleXML PHP 扩展。如果您可以在此服务器上安装软件包(通过命令行或其他方式),请查找名为 php-simplexmlphp-xml 的软件包。当您在 phpinfo 页面上或在命令行输出 php -m 中看到 SimpleXML 扩展时,您将解决问题。

      附带说明一下,我不认为公开您的 phpinfo,尤其是 ioncube 加载程序页面是一个好主意,尤其是如果您的应用程序将在同一台服务器上运行。我建议尽快限制对这些页面的访问。

      【讨论】:

      • 我运行了“yum install php-simplexml”,通过“service httpd restart”重新启动 Apache 服务器后,我得到一个空白页面而不是错误页面。现在我该怎么办?顺便说一句,我肯定会在安装脚本后限制对这些页面的访问。
      • 您检查过您的 Apache 错误日志吗?默认应该在/var/log/httpd/error_log下,你可以通过命令行运行tail -f /var/log/httpd/error_log查看,或者通过其他方式打开文本文件。
      猜你喜欢
      • 1970-01-01
      • 2012-04-21
      • 1970-01-01
      • 2016-04-26
      • 1970-01-01
      • 1970-01-01
      • 2017-09-03
      • 1970-01-01
      相关资源
      最近更新 更多