我设计了一个新的joomla3网站。在我的电脑上进行开发时,它运行正常。 一旦我使用akeeba备份和kickstart恢复工具在共享主机上设置了此功能。 报告了以下错误:
Fatal error: Invalid opcode 153/1/8. in /home/myinnori/public_html/tawasr/libraries/joomla/filter/input.php on line 702
任何人都可以帮我解决这个问题。
我试过在" .htaccess"中启用每组变量。文件来自" public_html"我的托管帐户的文件夹。
更新:
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 );
答案 0 :(得分:0)
如果您有preg_replace函数,这是您的问题!根据 php.net和出于安全原因许多共享主机提供使用 preg_replace_callback()而不是preg_replace(),但你可以共享 input.php源代码以获得更好的帮助
http://php.net/manual/en/function.preg-replace.php
特别感谢
答案 1 :(得分: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>
source(forum.joomla.org)
答案 2 :(得分:0)
关于php的内联函数存在一个问题。 我的服务器上的PHP不支持有回调的内联函数。 我使用了preg_replace()而不是preg_replace_callback(),问题解决了。使用以下代码,只需将第二个参数保留为空字符串,如下面的代码
$source = preg_replace('/&#x([a-f0-9]+);/mi', "", $source
);