我正在尝试运行一个测试脚本,看看我想要的一个更大的项目是否可行。在我的 wamp 服务器上,我的索引调用这个单独的 php 脚本:
<?php
exec("cd C:\Program Files (x86)\Notepad++");
exec("notepad++.exe");
echo "didn't crash";
?>
我需要程序做的就是打开记事本++。我尝试将快捷方式放在名为 (www) 的同一目录中,从桌面运行快捷方式,然后访问 exe 本身。每次我使用它时,它都会运行并说“没有崩溃”,但它从未打开记事本++。
exec 的 php 手册(http://php.net/manual/en/function.exec.php)显示了一个看起来太简单的示例,但它确实有效。 system() 示例也是如此。
我所需要的只是访问 cmd,以便我可以调用文件。现在它只是 exe 的,但最终将是 jar 的/py 的,将发布到文本文件。
<?php
$ret = exec('START C:\Program Files (x86)\Notepad++\Notepad++.exe', $output, $error);
// Debug
var_dump($ret);
var_dump($output);
var_dump($error);
?>
更新
也许你的 php 没有权限在你的 wamp 上运行命令: https://stackoverflow.com/a/9161752/1721486
在 Mac 上,您需要命令来实际打开应用程序,例如:
exec( 'open SomeApp.app' );
我认为在 Windows 上你会使用“开始”(?)
exec( 'start notepad++.exe' );
您说的是 WAMP 服务器,我想您已经检查过这一点,但是 Apache 是否以登录用户身份运行?否则记事本会出现在您看不到的某些桌面上。