皆さん、こんにちは。私は最近、PHPアプリケーションをSinaSAEに移植しようとしています。現在、解決されていない問題がたくさんあります。
背景: 元のアプリケーションは APACHE 上で正常に動作し、PHP バージョン 5.4.2 を使用します。SAE に移植される場合、SAE は Nginx サーバーを使用する必要があり、PHP バージョンは 5.3.2 です。
問題現象: ページにアクセスすると、Parse エラーが報告されます。エラー: 構文エラー、application/models/ngsource_model.php 行 94 の予期しない T_VARIABLE
関連するコード: $query_date =explode(' ',$query_datetime)[0];
このコード行を長い間調べましたが、前と後ろのコードはどちらも variable の割り当てなので、PHP のバージョンの問題ではないでしょうか。 PHP のバージョンの変更についてはあまり詳しくないので、オンラインで同様のリソースを見つけることができませんでした。助けていただければ幸いです。ありがとうございます。
$query_date = explode(' ',$query_datetime)[0];
この構文は php 5.4 以降でのみサポートされます
php 5.3 以下の場合は
$query_date = explode(' ',$query_datetime); $query_date = $query_date[0];
または
この構文は php 5.4 以降でのみサポートされます
php 5.3 以降は
list($query_date) = explode(' ',$query_datetime);
または
$query_date = explode(' ',$query_datetime)[0];
として記述する必要があります。 ありがとうございます。私もあなたが言及した最初の方法を試しましたが、コードの 2 行目で同じエラーが表示されます。 2 番目の方法をすぐに実行します。
さらに、SAE に精通しているかどうかはわかりませんが、PHP のバージョンを改善することはできますか?
配列の書き込み方法に問題がある場合、エラーメッセージは
$query_date = explode(' ',$query_datetime); $query_date = $query_date[0];
$query_dateの前に不正な文字があることは明らかです
それで、どうやって合格しましたか? ローカルテストについてはどうですか?
SAE の PHP は独自のものです (公開されているコードで修正されています)
SAE はローカル開発環境を提供しており、ダウンロードして使用できます
list($query_date) = explode(' ',$query_datetime);
Your errorメッセージは「解析エラー: 構文エラー、予期しない T_VARIABLE」です
$query_date の前に明らかに不正な文字があります
それで、どうやってローカル テストに合格しましたか?
SAE の PHP は独自のものです (公開されているコードで修正されています)
SAE はローカル開発環境を提供しており、ダウンロードして使用できます