這不是你是否可以從php做到這一點 - 你不能從任何產生過程。產生的過程是一個新過程(通常使用fork和exec創建)。對新進程的工作目錄所做的更改不會影響父進程的工作目錄。這就是說,如果你想變得瘋狂,你可以:這是一個PHP腳本,它可以轉到父目錄,然後用bash替換它自己。它不能更改父進程的目錄,但可以使用新目錄啓動一個新的 shell。
<?php
chdir('..'); // Chdir to the parent directory in this php process.
pnctl_exec('/bin/bash'); /* Execute '/bin/bash' in the current process space.
This is oversimplified in many ways
– including that I didn't pass any arguments to the shell. */
如需進一步兩輪牛車,如果你在這個腳本是如何調用的控制是完全可以exec
,並用新的替換當前的外殼。
~ $ exec php chdir.php
/Users $
但是,如果你打算與別人分享這個腳本,你不應該有這些期望 - 這是更加健壯管理工作目錄只有自己的程序中。
請看這裏:[php.net/chdir](http://php.net/chdir) –