shell_exec一个php文件,里面的mysql无法正常工作

时间:2013-02-22 13:46:04

标签: php mysql background exec shell-exec

我的php脚本中有一个简单的shell_exec()脚本。上传时,此行将运行:

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(),那么它可以正常工作。

运行shell_exec()时,有什么关于'localhost'作为mysql主机吗?我在Mac btw的xampp上测试

1 个答案:

答案 0 :(得分:0)

  • 使用PHP二进制/usr/local/bin/php的完整路径,而不是php
  • 确保process.php文件可执行
  • 您可以使用ip而不是主机名(即:127.0.0.1而不是localhost )来略微加快速度。
  • 删除/ dev / null部分,以便您可以看到错误和警告。
相关问题