0

shell_exec()PHPスクリプトに簡単なスクリプトがあります。アップロード時にこの行が実行されます:

shell_exec("php  process.php > /dev/null &");

意図したとおりにバックグラウンドでファイルを確実に実行しますが、process.phpでmysqlに接続するのに問題があるようです。

process.phpには次のものが含まれます。

$db_host="localhost";
$db_name="databasename";
$dbusername="root";
$dbpassword="pass";

mysql_connect($db_host,$dbusername,$dbpassword);
mysql_select_db($db_name);
//then a mysql_query()

mysql_connect()失敗したようです。これらすべてをコピーして最初のファイルに貼り付けると、正常にshell_exec()機能します。

実行時にmysqlホストとしての「localhost」について何かありshell_exec()ますか?私はMacのところでxamppでテストしています

4

1 に答える 1

0
  • /usr/local/bin/php代わりにPHPバイナリへのフルパスを使用するphp
  • process.phpファイルが実行可能であることを確認してください
  • ホスト名の代わりにIPを使用して(つまり、localhostの代わりに127.0.0.1)、処理を少し高速化できます。
  • / dev / nullの部分を削除して、エラーと警告を確認できるようにします。
于 2013-02-22T13:55:51.610 に答える