下面的命令是一个适用于我的shell命令。从php运行shell命令
php -f /home3/kintest2/www/project/keygen_msql_adjuster.php
什么,我想要做的是建立从一个php文件此命令运行。
任何提示,欢迎
下面的命令是一个适用于我的shell命令。从php运行shell命令
php -f /home3/kintest2/www/project/keygen_msql_adjuster.php
什么,我想要做的是建立从一个php文件此命令运行。
任何提示,欢迎
我认为你正在寻找shell_exec
:
echo shell_exec ("php -f /home3/kintest2/www/project/keygen_msql_adjuster.php");
此代码适用于任何其他命令。当我使用上面的shell命令时,它不会执行页面似乎只是为每个...加载的任何想法。 – 2012-07-20 14:59:18
@CongoleseMedia可能是该文件或文件夹的权限问题,或者可能是环境问题,例如启用了safe_mode。 – Quantastical 2012-07-20 17:43:20
您可以使用这取决于你想与你启动进程做什么backticks或system或shell_exec或popen, 。
我想从另一个PHP文件执行PHP。该文件所做的是只更新满足某些条件的一个数据库记录。但我希望文件在循环中连续执行此文件 – 2012-07-20 15:14:32
是否想到某种预定作业,即每隔几分钟/几小时就会启动一次?如果你是,看看http://en.wikipedia.org/wiki/Cron – complex857 2012-07-20 15:29:23
出了什么问题:
include('/home3/kintest2/www/project/keygen_msql_adjuster.php');
还是有要火了一个全新的PHP解释器的实例特别的原因?
我会注意到一个很好的理由而不是使用include
是因为其中声明的任何东西都会污染你当前的实例的命名空间。
另一方面,拨打shell_exec
或类似的可能是一个海量的安全漏洞。但是,如果您的代码运行在可能无关紧要的受限环境中。
我想从另一个PHP文件执行PHP。该文件所做的是只更新满足某些条件的一个数据库记录。但我想要文件连续执行这个文件在循环 – 2012-07-20 15:15:43
听起来,嗯,次优... – Alnitak 2012-07-20 15:39:24
你也可以考虑使用命令运行库,妥善处理错误和东西: https://github.com/kamermans/command
然后你就可以像这样运行程序:
use kamermans\Command\Command;
$cmd = Command::factory('php')
->option('-f', 'keygen_msql_adjuster.php')
->setDirectory('/home3/kintest2/www/project')
->run();
,或者更简单地说:
use kamermans\Command\Command;
$cmd = Command::factory('php -f /home3/kintest2/www/project/keygen_msql_adjuster.php');
与PHP的内置方法,如果命令失败,此方法将抛出一个PHP异常,您可以TH如果需要可以捕获和处理:
use kamermans\Command\Command;
use kamermans\Command\CommandException;
$cmd = Command::factory('php')
->option('-f', 'keygen_msql_adjuster.php')
->setDirectory('/home3/kintest2/www/project');
try {
$cmd->run();
} catch (CommandException $e) {
die("The command failed: ".$e->getMessage()."\n");
}
Here're two hints:['exec'](http://php.net/manual/en/function.exec.php),['shell_exec'] (http://www.php.net/manual/en/function.shell-exec.php)。 – Palladium 2012-07-20 14:46:19
['shell_exec()'](http://php.net/manual/en/function.shell-exec.php) – jexact 2012-07-20 14:46:28