備忘録のため,内容の正当性については責任を持ちません。

このブログ (WordPress 2.9.2) に Ktai Entry プラグインを入れて,モブログ環境を整えた。詰まったところをメモしておく。


ktai_entry を wp-content/plugins/ ディレクトリに放り込んで,管理画面から有効にする。

受信するメールアドレスの .forward を編集。

$ vi /home/sites/XXXX/users/YYYY/.forward
"| /usr/bin/php /home/sites/XXXX/web/blog/wp-content/plugins/ktai_entry/inject.php"

試しにメールを送ってみると,エラーが返ってきた。

   ----- The following addresses had permanent fatal errors -----
| /usr/bin/php /home/sites/XXXX/web/blog/wp-content/plugins/ktai_entry/inject.php
    (reason: Service unavailable)
    (expanded from: <yyyy @XXXX>)

   ----- Transcript of session follows -----
smrsh: "inject.php" not available for sendmail programs (stat failed)
554 5.0.0 Service unavailable</yyyy>

よくわからないので,コマンドラインで実行してみた。

$ /usr/bin/php /home/sites/XXXX/web/blog/wp-content/plugins/ktai_entry/inject.php
PHP Warning:  require(): open_basedir restriction in effect. File(/home/.sites/ZZZ/siteX/web/blog/wp-content/plugins/ktai_entry/wp-load.php) is not within the allowed path(s): (/tmp/:/var/lib/php/session/:/usr/share/pear/) in /home/.sites/ZZZ/siteX/web/blog/wp-content/plugins/ktai_entry/inject.php on line 27
PHP Warning:  require(/home/.sites/ZZZ/siteX/web/blog/wp-content/plugins/ktai_entry/wp-load.php): failed to open stream: Operation not permitted in /home/.sites/ZZZ/siteX/web/blog/wp-content/plugins/ktai_entry/inject.php on line 27
PHP Fatal error:  require(): Failed opening required '/home/.sites/ZZZ/siteX/web/blog/wp-content/plugins/ktai_entry/wp-load.php' (include_path='.:/usr/share/pear:/usr/share/php') in /home/.sites/ZZZ/siteX/web/blog/wp-content/plugins/ktai_entry/inject.php on line 27

なるほど open_basedir の影響らしい。そこで .forward を次のように変更し,open_basedir に WordPress のディレクトリを指定することで解決した。

$ vi /home/sites/XXXX/users/YYYY/.forward
"| /usr/bin/php -d open_basedir=/home/sites/XXXX/web/blog/ /home/sites/XXXX/web/blog/wp-content/plugins/ktai_entry/inject.php

コメント

コメントする




CAPTCHA