あるディレクトリから別のディレクトリに転送する場合、どの PHP 構成が実行されますか?

StackOverflow https://stackoverflow.com/questions/1888635

質問

前回の質問に基づいてアイデアをテストしていますが、非常に興味深い問題に遭遇しました...

私のホーム ディレクトリはサーバーの 1 つのパス (すべてのホーム ディレクトリが存在する場所) 上にありますが、理由は推測することしかできませんが、そのディレクトリの PHP 設定で IMAP がオンになっていません。

ただし、ライブ サイトのテスト ミラー上に存在するプロジェクト ディレクトリでは IMAP が有効になっています。

そこで私がテストしているのは、電子メールの送信時に .forward ファイルを使用して php スクリプトをトリガーすることです。これに簡単に使用できる唯一の電子メールはユーザーの電子メールです。つまり、個人のホーム ディレクトリに .forward を設定する必要があります。

.forward は機能しますが、電子メールはエラーの一部とともに戻ってきます。私が知る限り、スクリプトは「予期しない関数 open_imap()」が原因で失敗しています。これは、個人フォルダーですべての作業を実行しようとしたときに発生したものです。

したがって、問題は、スクリプトが IMAP のあるディレクトリにあるため、ブラウザから直接スクリプトを実行できることですが、ホーム ディレクトリ (やはり IMAP がない) から電子メールを指定すると、スクリプトを実行できることのようです。 )、スクリプト自体のパスの構成ではなく、スクリプトをトリガーしたファイルのパスの PHP 設定がデフォルトになります。

それで:

  1. 私は完全に間違っていて、十分なデバッグができていないだけですか?
  2. 私が正しい場合、スクリプトを独自のパスのphp構成に準拠させる方法はありますか?
  3. そうでない場合、すべての新しい電子メール アカウントを設定するか、サーバー管理者に IMAP をオンにするよう頼む以外に、これを機能させる他の方法はありますか?
役に立ちましたか?

解決

私はこれが理由ですが、あなたは、Webサーバー用とコマンドラインインタフェースのためのPHPで異なる設定を持つことができるかどうかわかりません。それはあなたがウェブサイトにアクセスした場合、別の構成は、あなたがPHPをコマンドラインから実行した場合よりも、使用されることを意味します。

Debianでは、Apache Webサーバーの設定が/etc/php5/apache2/に位置し、/etc/php5/cli/でCLI用されます。

しかし、これはあなたのIMAPの問題に関連している場合、私は知りません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top