我在www.example.com/test
安装了Drupal。现在,它已准备好上线,我正试图将其移至www.example.com
。我将sites/default/settings.php
中的行更改为:
$base_url = 'http://www.example.com/'; // NO trailing slash!
当我导航到我的index.php时,我得到各种解析错误,如下所示:
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}'
in /home/example/public_html/sites/all/modules/typogrify/typogrify.class.php
on line 18
问题在于:
public static function amp($text) {
$amp_finder = "/(\s| )(&|&|&\#38;|&)(\s| )/";
return preg_replace($amp_finder, '\\1<span class="amp">&</span>\\3', $text);
}
这样的每个功能都会导致错误。然后PHP不再理解在子目录中完全正常的语法吗?
答案 0 :(得分:3)
虽然Drupal 6核心应该仍然与PHP 4兼容,但许多模块都没有,因为 PHP 4不再维护,并且自2008年8月以来没有得到任何安全修复。因此,将它用于生产现场是一个很大的安全问题。
所以在投入任何时间进行“修复”之前,我建议立即切换到PHP 5.
可能与您的问题无关,但您是否在设置$base_url
变量的行上阅读了评论?您应该删除尾部斜杠,以防您使用真实URL进行删除。
修改:刚刚从违规文件中检查了“Typogrify”类。它似乎只是静态方法(函数)的集合。因此,如果这是唯一一个给您带来问题的文件,您可以通过删除其中的所有“公共”声明来解决这个问题,因为它们并非绝对必要。
请注意,我不建议这样做 - 您不应该使用已弃用的,未维护的PHP版本运行生产站点!)
答案 1 :(得分:3)
$base_url = 'http://www.example.com/'; // NO trailing slash!
没有尾随斜线! ;)