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

运行时是否有关于 'localhost' 作为 mysql 主机的内容shell_exec()?我在 Mac 上的 xampp 中测试 btw

4

1 回答 1

0
  • 使用 PHP 二进制文件的完整路径/usr/local/bin/php而不是php
  • 确保该process.php文件是可执行的
  • 您可以使用 ip 代替主机名(即: 127.0.0.1 而不是 localhost)来稍微加快速度。
  • 删除 /dev/null 部分,以便您可以看到错误和警告。
于 2013-02-22T13:55:51.610 回答