新手问题——在PHP文件中调用多个.sql脚本
我有一个执行多个sql脚本的PHP文件。我发现前两个脚本执行,但后两个脚本似乎从未完成。我在自己的PHP文件中分别测试了最后两个脚本,这些脚本都正常工作,所以我想知道这是否是因为我在PHP脚本中进行了大量的exec()调用。有什么建议吗?以下是原始脚本:新手问题——在PHP文件中调用多个.sql脚本,php,mysql,Php,Mysql,我有一个执行多个sql脚本的PHP文件。我发现前两个脚本执行,但后两个脚本似乎从未完成。我在自己的PHP文件中分别测试了最后两个脚本,这些脚本都正常工作,所以我想知道这是否是因为我在PHP脚本中进行了大量的exec()调用。有什么建议吗?以下是原始脚本: <?php session_start(); $host = "localhost"; $user = "user"; $pass = "pass"; $database = "database"; $linkID = mys
<?php
session_start();
$host = "localhost";
$user = "user";
$pass = "pass";
$database = "database";
$linkID = mysql_connect($host, $user, $pass) or die("Could not connect to host.");
mysql_select_db($database, $linkID) or die("Could not find database.");
$query = sprintf("SELECT dbName FROM users where userName='%s'",
$_SESSION['MM_Username']);
$resultID = mysql_query($query) or die("Data not found.");
list($dbName)= mysql_fetch_row($resultID);
exec("mysql -u user -ppassword ".$dbName." < ../scripts/makeTblFinalAnalysis.sql");
exec("mysql -u user -ppassword ".$dbName." < ../scripts/tblFinalDetailed.sql");
exec("mysql -u user -ppassword ".$dbName." < ../scripts/TblGridViews.sql");
exec("mysql -u user -ppassword ".$dbName." < ../scripts/makeTblGeo.sql");
header( 'Location: dashboards/dashboard.html' ) ;
exit;
?>
您的执行时间可能已经用完了吗?脚本运行需要多长时间
在PHP文档中查找
set\u time\u limit()
;如果它们需要一段时间才能运行,您将需要提高PHP执行超时时间。您可能已经没有执行时间了吗?脚本运行需要多长时间
在PHP文档中查找
set\u time\u limit()
;如果它们需要一段时间才能运行,您将希望提高PHP执行超时时间。“但最后两个脚本似乎从未完成。”也许是因为前两个脚本上存在一些锁,第三个脚本处于死锁状态?您可以尝试在sql server上同时执行这四个脚本,以检查它是否成功执行以及是否提交了更改。此外,发布sql查询可能会有所帮助 “但最后两个脚本似乎从未完成。”也许是因为前两个脚本上存在一些锁,第三个脚本处于死锁状态?您可以尝试在sql server上同时执行这四个脚本,以检查它是否成功执行以及是否提交了更改。此外,发布sql查询可能会有所帮助 尝试将所有exec加入shell脚本并运行它。然后尝试在后台运行它。但是PHP不会等待脚本返回
exec("nohup sqlRoutines.sh > /dev/null 2>&1 &");
这将使脚本与调用进程分离,并将stdout和stderr重定向到别处(如果需要,也可以重定向到日志文件…。尝试将所有exec加入shell脚本并运行它。然后尝试在后台运行它。但是PHP不会等待脚本返回
exec("nohup sqlRoutines.sh > /dev/null 2>&1 &");
这将使脚本与调用进程分离,并将stdout和stderr重定向到别处(如果需要…,也可以重定向到日志文件)。关闭内存默认最大执行时间约为60秒。所以如果你的脚本花费的时间比总的要长,那可能就是问题了好吧,我增加了设置时间限制,但它仍然不起作用。我的脚本运行时间不足30秒,但内存不足,默认最大执行时间约为60秒。所以如果你的脚本花费的时间比总的要长,那可能就是问题了好吧,我增加了设置时间限制,但它仍然不起作用。我的脚本运行时间不足30秒,但我想试试这个。很抱歉,我不太熟悉shell脚本。在shell脚本中运行4个exec命令需要什么命令?我想试试这个。很抱歉,我不太熟悉shell脚本。在shell脚本中运行4个exec命令需要什么命令?