在共享服务器上托管后出现Joomla错误



我设计了一个新的joomla3网站。 在我的计算机上开发时,它工作正常。一旦我使用 akeeba备份和启动还原工具在共享主机上设置了它。报告以下错误:

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    );
  • 请在此处分享输入.php页面的源代码。
  • 我认为您的问题是关于您的禁用或有限的图书馆共享虚拟主机 .
  • 如果你有preg_replace功能,这是你的问题!php.net 和出于安全原因,许多共享主机都提供使用preg_replace_callback() 而不是 preg_replace(),但您可以共享输入.php源代码以获得更好的帮助

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

    特别鸣谢

好的,您应该在.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)

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

$source = preg_replace('/&#x([a-f0-9]+);/mi', "", $source
    );

相关内容

  • 没有找到相关文章

最新更新