【1】ページ間での変数の受け渡しはできません
最新のPHPバージョンではグローバル変数のGet、post、sessionがオフになっているため、前ページから送信された変数を取得するには$_GET['foo'],$ _POST[ 'foo'],$_SESSION['foo'] を取得します。もちろん、自動グローバル変数を on に変更することもできます (php.ini を register_globals
= On に変更します)。互換性を考慮して、新しい記述方法に慣れることをお勧めします。
【2】Win32でapache2がgetメソッドを使って中国語パラメータを渡すとエラーが発生します:
test.php?a=Hello&b=你好
パラメータを渡すと内部エラーが発生します
解決策: 『test.php? a =".urlencode(Hello)."&b=".urlencode(Hello)
.......
【3】win32でのセッションが正常に動作しない
php.iniのデフォルトセッション。 save_path = /tmp
これは明らかに Linux での設定です。win32 の PHP ではセッション ファイルの読み書きができないため、セッションが使用できなくなります。たとえば、session.save_path
= c:windows emp です。
【4】エラーメッセージを表示する
php.iniのdisplay_errors = On、error_reporting =
E_ALLの場合、エラー修正のためにデバッグ中にすべてオンにするのがベストです。メソッドの場合、ほとんどのエラー メッセージは未定義の変数に関するものです。変数に値が割り当てられる前に、変数が呼び出されるときにプロンプトが表示されます。解決策は、変数を検出またはシールドすることです。
例えば、$fooを表示するには、if(isset($foo)) echo $fooまたはecho @$fooを使用できます
【5】mail()はWin32環境ではメールを送信できません
Linuxで設定したSendmailは送信できますが、 Win32 メールを送信するには smtp サーバーを呼び出す必要があり、php.ini = ip の SMTP を変更する必要があります
//ip は検証機能のない smtp サーバーです (オンラインで見つけるのは困難です)
php でメールを送信するための最良の解決策は、を使用することです直接送信するソケット 相手のメールサーバーに転送サーバーは必要ありません。
【6】mysqlの初期インストールでパスワードが設定されていない場合は、 update mysql.user setpassword="yourpassword" where
user="root" を使用してパスワードを変更する必要があります
【7】ヘッダーは送信済みです
これ通常、HEADER を使用するとエラーが発生します。これにはいくつかの理由が考えられます。 1. HEADER を使用する前に PRING または ECHO を実行した 2. 現在のファイルの前に空白行がある 3. ファイルを INCLUDE した可能性があり、そこにファイルの末尾に空行がある場合、出力は次のようになります。このエラーが発生します。 !
【8】php.iniを変更しても変化なし
IISやApacheなどのWebサーバーを再起動すると、最新の設定が適用されます。
【9】phpは2003にインストールされています(ISAPIのインストール方法は専門家のアドバイスをお願いします)
PHP4のphp4isapi.dllは2003と競合するようでCGIモードでしかインストールできません