apacheでphp、exec、system関数でのsudo実行
FreeBSD 7.0-STABLE でphpスクリプトを作っています。
apacheは2.0.63、phpはphp-4.4.9です。
apacheの設定
ユーザ、グループは、apache
phpは
safe_mode = offです。
sudoは
apache ALL=(ALL) ALL
と設定しています。
apacheを手動で起動
/usr/local/apache2/bin/apachectl start
して、下記を実行すると
<?PHP
$cmd = "echo 'password' | sudo -S ls /root";
exec($cmd, $output);
print_r($output);
?>
結果、
Array ( [0] => .cshrc [1] => .history [2] => .k5login [3] => .login [4] => .profile [5] => .ssh )
とうまく実行できるのですが
apacheを自動起動した場合、
以下の方法をそれぞれ試しましたが
# cp /usr/local/apache2/bin/apachectl /usr/local/etc/rc.d/apache.sh
# chmod 0755 /usr/local/etc/rc.d/apache.sh
より起動
/etc/rc.local
# Start Apache
/usr/local/apache2/bin/apachectl start
より起動
crontab -e
@reboot /usr/local/apache2/bin/apachectl start
より起動
いずれも
結果は
Array ( )
とうまくいきません。
どなたか原因のわかる方、教えていただけないでしょうか?
宜しくお願いいたします。
お礼
ありがとうございます。
補足
それってLANとか関係なく屋外からでも繋がってしまうんですか??