[PHP-users 15198]Re: 子プロセスの生成方法について

Ihara senjyu @ f2.dion.ne.jp
2003年 5月 12日 (月) 19:05:36 JST


Iharaです。嶋崎さま。色々ありがとうございます。

しかしながら、まだ、私の実力が足りないため解決には至っていません。
どういうことかといいますと、
もともと、
<? php
hogehoge
$ret = mb_send_mail( $strto, $strsbj, $strmsg, $strhdr);
if( ! $ret ) {
error hogehoge;
}
?>
と書いていたのを、
sys_send_mail.php
<?php
function sys_send_mail( $strto, $strsbj, $strmsg, $strhdr )
{
$ret = mb_send_mail( $strto, $strsbj, $strmsg, $strhdr);
if( ! $ret ) {
error hogehoge;
}
}
?>
という関数を用意し、

<? php
hogehoge
$ret = system("sys_send_mail.php $strto $strsbj $strmsg $strhdr >
/dev/null &");
if( ! $ret ) {
error hogehoge;
}
?>
としましたが、エラーとなってしまいます。また、メールも送られていません。

フルパスでないといけないのかと思い、
system("/usr/local/apache/htdocs/sys_send_mail.php $strto $strsbj
$strmsg $strhdr > /dev/null &");
としてみましたが、これでもだめです。

本当は、/tmpフォルダへのアクセス権は無いのですが、
sys_send_mail.phpを/tmpフォルダにコピーして、
system("/tmp/sys_send_mail.php $strto $strsbj $strmsg $strhdr >
/dev/null &");
としてみましたが、これでもだめです。

php.iniのsafe_modeはOffになっています。
system関数は、引数に command文字列を指定するので、このやり方ではだめなのは
なんとなくわかりますが、解決策はわかりません。

たびたびすみませんが、よろしくお願い致します。




PHP-users メーリングリストの案内