GIGABYTE GA-8IPE1000-G Intel 865PE、 CeleronD 335(2.8GHz)、 PC3200 256MB×2 という構成であるが、TMPEGEncが最近メモリ不足とか言ってちゃんと最後までエンコードしてくれなくなった。
postfixadmin「そのドメインは存在しません」
事象
- postfixadminの画面からドメインの追加をしようとしても「そのドメインは存在しません」というエラーが表示される。
- apacheのログに次のような記録がある
[error] [client 192.xxx.xxx.xxx] PHP Warning: mysql_real_escape_string() [<a href='function.mysql-real-escape-string'>function.mysql-real-escape-string</a>]: A link to the server could not be established in /パス名/functions.inc.php on line 131, referer: http://192.xxx.xxx.xxx/url名/create-domain.php
原因
phpのmagic_quotes_gpcがオフになっている
- Magic Quotes
マジッククオートは、PHPスクリプトに入力されるデータを 自動的にエスケープする機能。
オンの場合、全ての’ (シングルクオート), ” (ダブルクオート), (バックスラッシュ)およびNULL 文字がバックスラッシュで自動的にエスケープされる。 これは、addslashes() の機能と同じ。
3種類のマジッククオートディレクティブには..
magic_quotes_gpc | HTTPリクエストデータ(GET, POST, そして COOKIE)に作用する。 実行時に設定することはできない。 PHPの出フォルトは、on。 |
magic_quotes_runtime | 有効な場合、データベースやテキストファイルを含む 外部ソースからデータを返す関数の多くは、 バックスラッシュをクオートでエスケープする。 実行時に設定することができ、PHPでのデフォルトは on。 |
magic_quotes_sybase | 有効な場合、シングルクオートはバックスラッシュではなくシングルクオートで エスケープされる。 onの場合、 magic_quotes_gpc の指定を完全に上書きする。 これら両方のディレクティブを有効にすると、シングルクオートは ”とエスケープされる。 ダブルクオートやNULLはそのままとなり、エスケープされない。 |
magic_quotes_gpcの設定を調べる
[root@example root]# cat /etc/php.ini |grep magic ; - magic_quotes_gpc = Off [Performance] magic_quotes_gpc = Off ← magic_quotes_runtime = Off ; Use Sybase-style magic quotes (escape ' with '' instead of '). magic_quotes_sybase = Off [root@example root]#
対処
magic_quotes_gpcを変更して他のAPに支障がないのなら、php.iniを修正し、apacheを再起動する。