WebサーバーでPHPスクリプトを実行しようとすると失敗します。
cat test.sh
echo "Hello World"
[root@yumserver ~]#
Webページにスクリプトをバックグラウンドでプッシュできるボタンを作成しようとしています。
nohup test.sh &
以下でライセンス/所有権の詳細を確認してください。
-rwxrwxrwx 1 apache apache 62 Mar 28 04:14 run.php
-rwxrwxrwx 1 root root 62 Mar 27 06:33 sync.php
CGI-binを試しましたが、特定のスクリプトが実行されませんでした。
#!/bin/bash
echo "Content-type: text/html"
echo ""
echo "<html><head><title>Bash as CGI"
echo "</title></head><body>"
echo "<h1>General system information for host $(hostname -s)</h1>"
echo ""
echo "<h1>Memory Info</h1>"
echo "<pre> $(free -m) </pre>"
echo "<h1>Disk Info:</h1>"
echo "<pre> $(df -h) </pre>"
echo "<h1>Logged in user</h1>"
echo "<pre> $(w) </pre>"
echo "<h1>test</h1>"
echo "<pre> $(sh /var/www/cgi-bin/yumsync.sh) </pre>" <<<<<
echo "<pre> $(nohup uln-yum-mirror &) </pre>" <<<<<
echo "<center>Information generated on $(date)</center>"
echo "</body></html>"
yumsyncまたはuln-yum-mirrorはバックグラウンドにプッシュしようとしているスクリプトですが、起動しません。原因が何かを提案してもらえますか?
答え1
サーバーエラーログを見ると、その理由をほぼ確実に知ることができます。ディストリビューションに基づいてApache Webサーバーであると仮定すると、
/var/log/httpd/error_log
または
/var/log/apache2/error.log
tail
またはを使って簡単に確認できます。less