PHP exec空白页

时间:2018-08-28 07:12:40

标签: php

首先,我在Windows 10机器上进行了所有尝试,如果不使用echo,我希望得到空白页面。 但是代码不起作用。

<?php
exec ('cmd.exe server.bat 2>&1', $output);
print_r($output);
?>

输出:

Array([0] => Microsoft Windows [Version 10.0.17134.228] [1] =>(c)2018 Microsoft Corporation。保留所有权利。[2] => [3] => C:\ wamp64 \ www \ server>)

<?php
exec ("cmd.exe server.bat 2>&1", $output);
print_r($output);
?>

子目录或文件.exe已存在。处理时发生错误:.exe。子目录或文件server.bat已存在。处理时发生错误:server.bat。

此bat文件与PHP脚本位于同一目录中。

@echo on
cd /
cd wamp64
cd www
cd minecraft-server-stuff
start java -Xms1024M -Xmx16G -jar server.jar

PHP本身已在httpd-conf中启用。 我尝试以admin(我的Microsoft帐户名)身份使用Apache,但这确实将执行者更改为我。 Safe_mode不可作为选项使用,因此我无法将其禁用(我认为不可用意味着未激活),可能是因为它已在PHP 5.4中删除。 当前使用PHP 7.something

我正在使用wampserver,后者正在使用php5.3.44的.ini 我尝试将用户设置为httpd-conf,因为我的编码经验很少,所以我不知道如何验证该方法是否有效。 我尝试将Apache设置为我的帐户,这似乎是将Apache设置为我的帐户。

我目前无权访问日志(不是除了实际的代码内容(例如语法错误之类的东西)以外,它不会记录其他任何内容) 由于我正在工作,因此我也无法访问任何其他代码。

1 个答案:

答案 0 :(得分:0)

.bat文件本身不是可执行文件。我猜想exec指令不能将其作为系统程序运行。您可能需要调用实际的命令解释器(cmd.exe),并将.bat文件的名称作为参数传递给该命令解释器。