cronの使えない環境(レンタルサーバ)でWprdPressを運用しようと思いまして、header.phpやindex.phpを改造してみました。方法的にはwp-mail.phpをinclideさせてみました。で、前回wp-mail.phpにアクセスした時間からx分たった後またincludeしています。文がでてくると見かけ的に・・・なので、wp-mail.phpのechoはコメントアウトしてあります。そこでテストしてみたのですが、<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD><BODY></BODY></HTML>と吐いて止まってしまいます。どうにもwp-mail.phpが吐いてるみたいなのですが、echo文をコメントアウトする以外にどこか変えるところはありますでしょうか?また、あまり考えずに改造してしまったのですが、この方法ってサーバ負荷的には厳しかったりするのでしょうか?
引用:方法的にはwp-mail.phpをinclideさせてみました。で、前回wp-mail.phpにアクセスした時間からx分たった後またincludeしています。文がでてくると見かけ的に・・・なので、wp-mail.phpのechoはコメントアウトしてあります。そこでテストしてみたのですが、<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD><BODY></BODY></HTML>と吐いて止まってしまいます。どうにもwp-mail.phpが吐いてるみたいなのですが、echo文をコメントアウトする以外にどこか変えるところはありますでしょうか?もしかしたら、wp_mail.php中のob_start(),ob_end_flush(),ob_end_clean()の部分をコメントアウトすれば良いかもしれません。引用:この方法ってサーバ負荷的には厳しかったりするのでしょうか?単にメールを読んでブログに書き込むだけだったら、それほどでも無いと思います。ただし、PINGサーバにPINGを送る設定にしている場合には、レスポンスにかなり影響すると思います。
方法的にはwp-mail.phpをinclideさせてみました。で、前回wp-mail.phpにアクセスした時間からx分たった後またincludeしています。文がでてくると見かけ的に・・・なので、wp-mail.phpのechoはコメントアウトしてあります。そこでテストしてみたのですが、<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD><BODY></BODY></HTML>と吐いて止まってしまいます。どうにもwp-mail.phpが吐いてるみたいなのですが、echo文をコメントアウトする以外にどこか変えるところはありますでしょうか?
この方法ってサーバ負荷的には厳しかったりするのでしょうか?
返信有り難うございます。言われたところをコメントアウトしてみたのですが、どうにも変わらず動かないままでした。あの後いろいろ調べてみたのですが、どうもincludeしたところで処理が止まっているようです。$lasttime = fopen("last.time","r+");$lastaccess = fgets($lasttime);$nowaccess = time();if(($nowaccess-$lastaccess)>600){ include("wp-mail.php"); rewind($lasttime); fwrite($lasttime,$nowaccess);};fclose($lasttime);上記のコードを挿入しているのですが、fwriteがなされていないようなのです。もう少しwp-mail.phpとにらめっこすることにします。
引用:上記のコードを挿入しているのですが、fwriteがなされていないようなのです。もう少しwp-mail.phpとにらめっこすることにします。私の方でも少し試してみました。wp-mail.php中のexitが問題のようです。exit;となっているところをすべてreturn;に変えてみて下さい。あと、先頭部分の、require(dirname(__FILE__) . '/wp-config.php');は、require_once(dirname(__FILE__) . '/wp-config.php');に変えておいた方が無難だと思います。このあたりの対応も含めて次リリースに取り込むべきところを検討したいと考えています。
上記のコードを挿入しているのですが、fwriteがなされていないようなのです。もう少しwp-mail.phpとにらめっこすることにします。
ようやっとできました。変更部分はrequire_once(dirname(__FILE__) . '/wp-config.php'); → require_once(dirname(__FILE__) . '/wp-config.php');exit; → return;echoコメントアウトです。ob_〜どっちでも良いようです。また、自分の書いたコードで、なぜかinclude "wp-mail.php";では動かず(エラーは出ないけど投稿もしなかった)、requireにしたら無事動きました。(この辺りまだ良く解ってないPHP初心者です^^;)とにもかくにも、目的は達成できました。対応していただき有り難うございました。P.S これからwp-rss.phpとかにもコード入れて終わりです。
このプログラムは KENT 氏の yybbs を xoops(PHP) に移植したものです - KENT -