下面的命令是一個適用於我的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