ホームページ >バックエンド開発 >PHPチュートリアル >PHP 学習ノート 8 半引用符によって引き起こされる問題
PHP学習記8--ハーフクォーテーションによる問題
少し前にシステムを再インストールしたのですが、またPHPを使いたくなったので、Apache PHPのMySQL環境を何度も構築していたので再構築しました。とても簡単だと感じました。その後、よく使われるテスト環境用に次のコードを書きました。
<span style="color: #008080;">1</span> <?<span style="color: #000000;">php</span><span style="color: #008080;">2</span> <span style="color: #008080;">3</span> <span style="color: #008080;">phpinfo</span><span style="color: #000000;">();</span><span style="color: #008080;">4</span> <span style="color: #008080;">5</span> ?>
すると、正常に出力されました。環境的には問題ないと感じたので放置していたのですが…
最近使っているのですが、前のプロジェクトのコード(CIフレームワークを使用)を実行すると必ず が表示されます。空白のページが表示され、正しい出力が得られません。
恥ずかしいです...
簡単なPHPステートメントを書き直すと正常に動作する環境のようです。
date() 関数を使用して初めて、手がかりが見つかりました。
警告: date(): システムのタイムゾーン設定に依存するのは安全ではありません。date.timezone 設定または date_default_timezone_set() 関数を使用する必要があります。これらの方法のいずれを実行してもこの警告が表示される場合は、タイムゾーン識別子のスペルを間違えている可能性が高くなります。ここではタイムゾーン「UTC」を選択しましたが、date.timezone を設定してタイムゾーンを選択してください。
ただし、php.ini ファイルで date.timezone = Asia/Shanghai
を明確に設定しましたが、php.ini ファイルに設定された情報は有効になりません
。最初に思いつくのは、サーバーがこの php.ini 設定ファイルを読み取らないということです。これは、サーバーが以前に wamp に遭遇しましたが、それを削除せず、その後、環境を独自に再設定したためです。複数の php が存在します。システム内の .ini ファイルに保存され、過去の構成ドキュメントが読み取られます。
システム ファイルを探してみると、php.ini ファイルが 1 つだけあり、システムを再インストールすると、以前は存在していても、今は消えています。
phpinfo() をもう一度確認してください。
読み取られているのは、実際に今設定した php.ini です
問題は次のとおりです。 php.ini ファイルに問題があり、正しく解析されません。
php コードを使用してデータベースに接続しようとしましたが、関連する関数が見つからないことがわかりました...
確かに問題があるようですphp.iniを使用して。
変更した構成を注意深く確認してください。問題はありません...
もう一度確認してください、まだ問題はありません...
.. .
...
それで、毎日散歩する時間になったら、もうやらないと決めて、全部削除しました。環境を再構築し、コンピューターの電源を切り、階下に散歩に行き、それから電話で今日の「幸せな」生活について愚痴を言いました...
散歩から戻った後、私はこう言いました。まだ解決しなければ眠れません...
そして諦めずに最後に php.ini をチェックして、ついに発見しました。このバグを捕まえさせてください
拡張機能が配置されているディレクトリを構成するときに、引用符の半分を見逃してしまい、その後の解析で問題が発生したため、タイムゾーンの構成とデータベースへのアクセスがすべて失敗しました正しくやらないでください。
引用符の上半分を追加し、Apache サービスを再起動します。OK、すべてが再び非常に美しく実行されています
要約: 油断は禁物です...