Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
新手问题——在PHP文件中调用多个.sql脚本_Php_Mysql - Fatal编程技术网

新手问题——在PHP文件中调用多个.sql脚本

新手问题——在PHP文件中调用多个.sql脚本,php,mysql,Php,Mysql,我有一个执行多个sql脚本的PHP文件。我发现前两个脚本执行,但后两个脚本似乎从未完成。我在自己的PHP文件中分别测试了最后两个脚本,这些脚本都正常工作,所以我想知道这是否是因为我在PHP脚本中进行了大量的exec()调用。有什么建议吗?以下是原始脚本: <?php session_start(); $host = "localhost"; $user = "user"; $pass = "pass"; $database = "database"; $linkID = mys

我有一个执行多个sql脚本的PHP文件。我发现前两个脚本执行,但后两个脚本似乎从未完成。我在自己的PHP文件中分别测试了最后两个脚本,这些脚本都正常工作,所以我想知道这是否是因为我在PHP脚本中进行了大量的exec()调用。有什么建议吗?以下是原始脚本:

<?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命令需要什么命令?