Execute php script in a bat file: Difference between revisions
Jump to navigation
Jump to search
| Line 40: | Line 40: | ||
== Troubleshootings == | == Troubleshootings == | ||
=== Error: The system cannot find the path specified. === | |||
<pre> | |||
c:\path\to\php.exe -f "c:\path\to\php_script.php" | |||
</pre> | |||
Possible solutions: Check the php path if correct or not | |||
<pre> | |||
dir c:\path\to\php.exe | |||
</pre> | |||
=== Error: Could not open input file === | |||
Error message<ref>[https://stackoverflow.com/questions/29435912/how-do-i-pass-parameters-to-a-php-script-in-a-bat-file windows - How do I pass parameters to a php script in a bat file - Stack Overflow]</ref>: Could not open input file | Error message<ref>[https://stackoverflow.com/questions/29435912/how-do-i-pass-parameters-to-a-php-script-in-a-bat-file windows - How do I pass parameters to a php script in a bat file - Stack Overflow]</ref>: Could not open input file | ||
| Line 47: | Line 58: | ||
</pre> | </pre> | ||
Possible solutions: (1) add {{kbd | key=<nowiki>--</nowiki>}} after php script (2) remove {{kbd|key=<nowiki>-f</nowiki>}} option from command | |||
<pre> | <pre> | ||
c:\path\to\php.exe -f "c:\path\to\php_script.php" -- -var1=value1 | c:\path\to\php.exe -f "c:\path\to\php_script.php" -- -var1=value1 | ||
| Line 54: | Line 65: | ||
c:\path\to\php.exe "c:\path\to\php_script.php" -var1=value1 | c:\path\to\php.exe "c:\path\to\php_script.php" -var1=value1 | ||
</pre> | |||
(3) Enclose the whole path with double quote symbols | |||
<pre> | |||
Wrong: c:\path\to\php.exe c:\path\contain white space\php_script.php | |||
Correct: c:\path\to\php.exe "c:\path\contain white space\php_script.php" | |||
</pre> | </pre> | ||
Revision as of 17:07, 30 April 2018
How to execute php script in a bat file
Case 1: Execute the PHP script without passing parameters
c:\path\to\php.exe -f "c:\path\to\php_script.php" or c:\path\to\php.exe "c:\path\to\php_script.php"
Case 2: Execute the PHP script passing parameters
c:\path\to\php.exe -f "c:\path\to\php_script.php" -- -var1=value1 or c:\path\to\php.exe "c:\path\to\php_script.php" -var1=value1
Options "-f <file> Parse and execute <file>."[1]
Sample bat file
@ECHO OFF c:\path\to\php.exe "c:\path\to\php_script.php" -var1=value1 c:\path\to\php.exe "c:\path\to\php_script2.php" -var2=value2 PAUSE
instruction:
- MS-DOS echo command help
- PAUSE at the end of file to prevent auto closing of console window after the execution of batch file. [2][3]
Application: Run the PHP script automatically at a specified time
Win
Using System Scheduler software & specify the path to bat file.- Win
Task Scheduler in Windows 10[4] (Windows 系統管理工具 → 工作排程器[5]) - Linux
Cron
Troubleshootings
Error: The system cannot find the path specified.
c:\path\to\php.exe -f "c:\path\to\php_script.php"
Possible solutions: Check the php path if correct or not
dir c:\path\to\php.exe
Error: Could not open input file
Error message[6]: Could not open input file
The code caused the error message:
c:\path\to\php.exe -f "c:\path\to\php_script.php" -var1=value1
Possible solutions: (1) add -- after php script (2) remove -f option from command
c:\path\to\php.exe -f "c:\path\to\php_script.php" -- -var1=value1 or c:\path\to\php.exe "c:\path\to\php_script.php" -var1=value1
(3) Enclose the whole path with double quote symbols
Wrong: c:\path\to\php.exe c:\path\contain white space\php_script.php Correct: c:\path\to\php.exe "c:\path\contain white space\php_script.php"
References
- ↑ PHP: Options - Manual
- ↑ MS-DOS pause command help
- ↑ windows - How to prevent auto-closing of console after the execution of batch file. - Stack Overflow
- ↑ How to schedule tasks in Windows 10
- ↑ 如何利用 Windows 10 內建的工作排程器,設定電腦定時自動關機、休眠或自動重開機?
- ↑ windows - How do I pass parameters to a php script in a bat file - Stack Overflow