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 に答える