2011-12-19 129 views
1

如果我使用PHP的popen命令來執行腳本,那麼是在PHP的當前目錄的上下文中執行它?php popen和php當前工作目錄

目前我做沿着

popen(' cd PATH; CMD'); 

線的東西,但我可以做到這一點作爲

chdir ('PATH'); 
popen('CMD'); 
+1

測試一下,你告訴我們。你有能力測試,看看你自己的代碼是否工作。 – Cyclone 2011-12-19 21:43:36

+0

我希望這很簡單,我的第一個代碼在我的本地機器上正常工作,但不在我的測試服務器上(它真的很重要) – 2011-12-19 21:46:04

回答

2

這取決於在它的運行環境。

當我從命令行使用popen()時,它運行在我從中運行的WD中。

[[email protected] ~]$ php -r '$h=popen("pwd","r"); print fread($h, 80);' 
/home/ghoti 
[[email protected] ~]$ php -r 'chdir("/tmp"); $h=popen("pwd","r"); print fread($h, 80);' 
/tmp 
1

是的,它的確如此。我只是用Apache PHP/5.3.2在Windows 7上測試它。