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