0

在 localhost/myweb 上一切正常,但是当我将文件夹 myweb 上传到我的 public_html 目录时出现错误:

[16-Sep-2012 18:32:55] PHP Warning:  Unexpected character in input:  '\' (ASCII=92)  
state=1 in /home1/programw/public_html/myweb/index.php on line 7

[16-Sep-2012 18:32:55] PHP Parse error:  syntax error, unexpected T_STRING in /home1
/programw/public_html/myweb/index.php on line 7

在我的 index.php 第 7 行有以下代码:

   $app = new Core\Bootstrap();

我知道与 \ 斜杠有关,但我不知道是什么或如何解决它。

谁能帮帮我?我也使用 .htaccess 和 .htaccess 里面我有以下内容:

   RewriteEngine On
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-l
   RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

解决方案

我刚刚发现 \ 斜杠和命名空间仅在 PHP 5.3 中受支持,并且我的托管出于某种原因没有将他们的 PHP 更新到 5.3。如果有人知道在 5.2 上工作的方法,我将非常感激。

4

2 回答 2

1

该代码仅适用于 PHP 5.3 及更高版本。您的服务器可能仍在运行 PHP 5.2

您可以通过 phpinfo(); 最简单地检查这一点。或 phpversion();

要修复,您需要删除命名空间(这可能是外部框架的一项大工作)或将服务器升级到 PHP 5.3 或更高版本(请注意,5.2 已经很老了!)

于 2012-09-17T00:53:26.557 回答
0

没有在 PHP 5.2 上运行 PHP 5.3 代码的解决方法。要么你可以

  1. 说服您的托管公司升级到 PHP 5.3 或更高版本

  2. 寻找另一家拥有 PHP 5.3 或更高版本的托管公司

  3. 为您要使用的包找到与 PHP 5.2 兼容的替代方案。

于 2012-09-17T00:53:33.297 回答