generatedb.phpPHP了shell_exec bash.exe不会在Windows XP操作系统的IIS工作
<?php
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
echo 'This is a server using Windows!';
$output = shell_exec("C:\\cygwin\\bin\\bash.exe --login -c C:\\cygwin\\bin\\mysql2sqlite.sh -h 127.0.0.1 -u root -pApacheah64 db_shuttlebus tbl_driver tbl_location tbl_rate tbl_route tbl_routeid tbl_vehicle | C:\\cygwin\\sqlite3.exe C:\\Inetpub\\wwwroot\\BusTicket\\exportdatabase\\database.sqlite");
echo "<pre>".$output."</pre>";
} else {
echo 'This is a server not using Windows!';
$output = shell_exec("bash mysql2sqlite.sh -h 127.0.0.1 -u root -pApacheah64 db_shuttlebus tbl_driver tbl_location tbl_rate tbl_route tbl_routeid tbl_vehicle | sqlite3 /var/www/BusTicket/exportdatabase/database.sqlite");
echo "<pre>".$output."</pre>";
}
?>
这是错误出输出
Warning: shell_exec(): Unable to execute 'C:\cygwin\bin\bash.exe --login -c
C:\cygwin\bin\mysql2sqlite.sh -h 127.0.0.1 -u root -pApacheah64 db_shuttlebus tbl_driver
tbl_location tbl_rate tbl_route tbl_routeid tbl_vehicle | C:\cygwin\sqlite3.exe
C:\Inetpub\wwwroot\BusTicket\exportdatabase\database.sqlite' in
C:\Inetpub\wwwroot\BusTicket\exportdatabase\generatedb.php on line 4
如果我手动打开cmmand PROMT并运行命令是工作正常,但在PHP中时,它不能工作。为什么?
我已检查php.ini
安全模式关闭,disable_functions =为空。
,这是我的phpinfo.php的
这是使用CMD.EXE命令运行的IM,它正在
请尝试下次阅读错误消息。作为状态“第4行的C:\ Inetpub \ wwwroot \ BusTicket \ exportdatabase \ generatedb.php”尽管在你的问题中你从未提及任何有关generatedb.php的内容,所以我建议你看看那个文件,在那里发生。如果您仍然不知道,请尝试发布“第4行”,我们可能会帮助您。 – user2840647
@ user2840647代码已更新,请看看 –
您是否也可以在php.ini中发布包含“disable_functions = ...”的行。 – user2840647