PHPで外部のPHPを呼び出す
仕事でまさにこれと同じ症状になってしまいはまってしまいました。
http://sb.xrea.com/showthread.php?t=12153
具体的にはexec関数でPHPスクリプトを呼ぶことはできないということです。今日初めてハマり初めて知りました。
どうするとなるのか?こんなコードです。
<?php echo "OKOKOKOKOK"; ?>
2.test.phpを今度は作成し、先ほどのhoge.phpをexec関数で呼んでみる。
<?php echo exec("php hoge.php"); ?>
すると、実行に失敗して何も表示されない。パスが通ってないのかと思ってコマンドもファイルも絶対パスで指定してもやはり失敗して何も表示されない。ただし、コマンドライン(cgi版)のphpの場合は成功する。
で、どうしたらいいものかと思っていてひらめいたていうか、普通気付くだろの世界ですが。
すごく簡単な回避方法は単純にtest.phpにincludeしてhoge.php呼んでやればいいてことでした。
↓
<?php include("hoge.php"); ?>
実行結果はOKOKが出力され成功します。
ただし、やはりバックグラウンドで実行できないって事ですかね。