1

パイプされた電子メールをキャプチャし、パーツを解析してデータベースに挿入するスクリプトがあります。スクリプトは正常に動作し、自分の電子メールを何度もテストしてスクリプトに転送しました。ただし、クライアントの電子メールを同じスクリプトに転送すると、電子メールは次のエラーでバウンスします。

PHP 警告: PHP の起動: 動的ライブラリ '/etc/ixed/ixed.4.4.lin' を読み込めません - /etc/ixed/ixed.4.4.lin: 未定義のシンボル: 行 0 の不明な空の文字列

バウンスを引き起こしている他の問題を修正するために次のことを行いましたが、これはより低いレベルにあるようです:

  • 「|/usr/bin/php -q /home/path/to/script」などのパイプコマンドに「-q」を追加
  • スクリプトの先頭に error_reporting(0) を追加
  • 出力の原因となる <%%> タグの外側に空白スペースがないことを確認しました。

誰かがこれを以前に見て解決策を見つけた場合、私は感謝しています。

4

1 に答える 1

1

設定が遅すぎます (エラーは、 error_reportingerror_reportingが呼び出される前の起動エラーです)。オプション(個人的に好きな順):

  • 誤った PHP 設定をどこかで修正します (php --iniロードされているファイルを確認し、ixid を参照する行を削除するか、ライブラリ自体を修正します)。
  • 完全なデフォルト設定で実行します (したがって、php.ini は読み込まれません:| /usr/bin/php -n /home/path/to/script
  • エラーの表示を抑制して実行します。| /usr/bin/php -d display_errors=0 /home/path/to/script

display_errorsもちろん、デフォルトでオフにして実行し、エラーのみをログに記録することは悪い考えではないかもしれません.

于 2011-01-24T17:40:14.030 に答える