0

我设计了一个新的 joomla3 网站。在我的电脑上开发时,它工作正常。一旦我使用 akeeba 备份和 kickstart 恢复工具在共享主机上设置了这个。报以下错误:

Fatal error: Invalid opcode 153/1/8. in /home/myinnori/public_html/tawasr/libraries/joomla/filter/input.php on line 702

任何人都可以帮我解决这个问题。

我尝试从我的托管帐户的“public_html”文件夹中启用“.htaccess”文件中的每组变量。

更新:

line 701    // Convert decimal
line 702    $source = preg_replace_callback('/&#(\d+);/m', function($m)
line 703    {
line 704    return utf8_encode(chr($m[1]));
line 705    }, $source
line 706    );
4

3 回答 3

0
  • 请在此处分享 input.php 页面的源代码。
  • 我认为您的问题与共享虚拟主机中的禁用或受限库有关。
  • 如果你有 preg_replace 功能,这是你的问题!根据 php.net 和出于安全原因,许多共享主机提供使用 preg_replace_callback() 而不是 preg_replace() 但您可以共享 input.php 源代码以获得更好的帮助

    http://php.net/manual/en/function.preg-replace.php

    特别感谢

于 2014-11-28T18:46:15.690 回答
0

好的,您应该在 .htaccess 文件中插入 2 行,如下所示:

php_flag eaccelerator.enable 0
php_flag eaccelerator.optimizer 0 

并将以下行添加到您的 httpd.conf(联系您的托管支持中心)

<IfModule mod_php5.c>
php_flag eaccelerator.enable 0
php_flag eaccelerator.optimizer 0
</IfModule>

来源(forum.joomla.org)

于 2014-11-29T19:48:35.450 回答
0

有一个关于 php 的内联函数的问题。我服务器上的 php 不支持有回调的内联函数。我使用了 preg_replace() 而不是 preg_replace_callback() 并且问题得到了解决。使用下面的代码,只需将第二个参数保留为空字符串,如下面的代码

$source = preg_replace('/&#x([a-f0-9]+);/mi', "", $source
    );
于 2014-12-01T18:47:00.697 回答