【问题标题】:how to run php script from batch file如何从批处理文件运行php脚本
【发布时间】:2013-02-07 11:54:44
【问题描述】:

我使用了这篇名为upload_.php 的文章php script,并且我已经成功地用C# 开发了一个运行良好的Windows 服务。现在理论上该服务将每小时运行一次并执行一个批处理文件(task.bat)。如果我直接运行upload_php 文件,它现在工作正常我认为问题出在task.bat 文件中。这是我的代码

Task.bat 代码

@echo off
cd\
set path=C:\xampp\php;
cd "C:\xampp\htdocs"
php import.php
exit

当服务运行时,它执行 task.bat 文件但 php 脚本不执行。我的代码有什么问题???

【问题讨论】:

  • 您应该会看到一条错误消息。 (这里不应该需要@Sverri Apache)
  • 参考:php.net/manual/en/features.commandline.php(但你似乎做对了一切)
  • 我不知道 MS-Windows,但它不(为什么)需要调用所有可执行文件 *.exe?所以在这种情况下php.exe 而不是php?
  • 第一个 cd 是否缺少空格,所以您需要 cd \ 而不是 cd\?当您手动运行批处理文件时,您会看到错误消息吗?尝试在控制台窗口中运行 .bat 文件并移除回显,这样您就可以看到发生了什么然后让我们知道。
  • 我可以看到您在 tasks.bat 中运行 import.php 而不是 upload_.php.. 对吗?

标签: php mysql batch-file windows-services


【解决方案1】:

这对我有用,虽然我不是 php 开发人员,但我的同事帮助了我

@echo OFF
"D:\xampp\php\php.exe" D:\xampp\htdocs\upload_.php %*

【讨论】:

  • 所以问题是您的路径和更改目录都指定了错误的驱动器号,因为您的 php 安装在 D: 驱动器而不是 C: 驱动器上?而且您正在为需要提供给 php 脚本的 .bat 文件指定参数,而您对 php 命令的使用没有提供这些参数?
猜你喜欢
  • 1970-01-01
  • 2011-06-15
  • 2013-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多