PHP入門時に起きる文字化け、おかしな結果、なぜか動かない、変なエラーメッセージなどの原因と対策を紹介していきます。

PHPの関数や変数の前にあるアットマークの意味は?
PHPスクリプトを見ていると関数の前に「@」(アットマーク)が付いているのをみたことがありませんか?
この「@」の用途はエラーを非表示にすることです。「エラー制御演算子」とよばれます。
【参考】PHP: エラー制御演算子...

「http:// wrapper is disabled in the server configuration by allow_url_include=0」と表示されるとき
PHPのWarning「http:// wrapper is disabled in the server configuration by allow_url_include=0」はファイルをインクルードできないときなどに表示されます。...

php.iniの場所
PHPの設定を変更したくなることもありますが問題はphp.iniの場所です。場所の調べ方を紹介します。また、レンタルサーバーによってはメニューで変更できるようになっているので、簡単にまとめておきます。
php.iniの場所を調べる方法...

「Warning: array_key_exists()」と表示されるとき
array_key_exists関数は配列に指定インデックスが存在するか調べることができます。使用例は次のようになります。
実行結果
キーは存在します。
array_key_exists関数の第一パラメータはインデック...

「Warning: A non-numeric value encountered」と表示されるとき
PHPのエラーメッセージ「Warning: A non-numeric value encountered」は数値が求められる処理で文字列が指定されている場合などに表示されます。たとえば、次のコードは単純な足し算ですが、変数$bには数値が入...

phpMyAdminの「Fatal error: Maximum execution time of 300 seconds exceeded」の対策
PHPの処理に時間がかかると「Fatal error: Maximum execution time of 300 seconds exceeded」のようなエラーメッセージが表示されます。これはPHPスクリプトの時間制限を超えてしまったと...

「Warning: Division by zero」と表示されるとき
「Division by zero」というWarningは数値をゼロで割ったときに表示されます。「100 ÷ 0」のような割り算はできないということです。たとえば、次のPHPスクリプトです。
実行結果
Warning: ...

「Warning: Unknown: failed to open stream:」と表示されるとき
PHPスクリプトを実行すると「Warning: Unknown: failed to open stream: No such file or directory」のようなエラーメッセージが表示されることがあります。原因はさまざまですが、パ...