あるディレクトリから別のディレクトリに転送する場合、どの PHP 構成が実行されますか?
-
19-09-2019 - |
質問
前回の質問に基づいてアイデアをテストしていますが、非常に興味深い問題に遭遇しました...
私のホーム ディレクトリはサーバーの 1 つのパス (すべてのホーム ディレクトリが存在する場所) 上にありますが、理由は推測することしかできませんが、そのディレクトリの PHP 設定で IMAP がオンになっていません。
ただし、ライブ サイトのテスト ミラー上に存在するプロジェクト ディレクトリでは IMAP が有効になっています。
そこで私がテストしているのは、電子メールの送信時に .forward ファイルを使用して php スクリプトをトリガーすることです。これに簡単に使用できる唯一の電子メールはユーザーの電子メールです。つまり、個人のホーム ディレクトリに .forward を設定する必要があります。
.forward は機能しますが、電子メールはエラーの一部とともに戻ってきます。私が知る限り、スクリプトは「予期しない関数 open_imap()」が原因で失敗しています。これは、個人フォルダーですべての作業を実行しようとしたときに発生したものです。
したがって、問題は、スクリプトが IMAP のあるディレクトリにあるため、ブラウザから直接スクリプトを実行できることですが、ホーム ディレクトリ (やはり IMAP がない) から電子メールを指定すると、スクリプトを実行できることのようです。 )、スクリプト自体のパスの構成ではなく、スクリプトをトリガーしたファイルのパスの PHP 設定がデフォルトになります。
それで:
- 私は完全に間違っていて、十分なデバッグができていないだけですか?
- 私が正しい場合、スクリプトを独自のパスのphp構成に準拠させる方法はありますか?
- そうでない場合、すべての新しい電子メール アカウントを設定するか、サーバー管理者に IMAP をオンにするよう頼む以外に、これを機能させる他の方法はありますか?
解決
私はこれが理由ですが、あなたは、Webサーバー用とコマンドラインインタフェースのためのPHPで異なる設定を持つことができるかどうかわかりません。それはあなたがウェブサイトにアクセスした場合、別の構成は、あなたがPHPをコマンドラインから実行した場合よりも、使用されることを意味します。
Debianでは、Apache Webサーバーの設定が/etc/php5/apache2/
に位置し、/etc/php5/cli/
でCLI用されます。
しかし、これはあなたのIMAPの問題に関連している場合、私は知りません。