我使用php作爲執行各種系統命令的命令行腳本語言。如何只打開本地腳本的PHP的register_globals?
我怎樣才能在本地打開register_globals - 只有一個腳本?這可以通過腳本本身來完成嗎?
如果可能,我不希望更改全局設置。
我使用php作爲執行各種系統命令的命令行腳本語言。如何只打開本地腳本的PHP的register_globals?
我怎樣才能在本地打開register_globals - 只有一個腳本?這可以通過腳本本身來完成嗎?
如果可能,我不希望更改全局設置。
更改指令或命令行php.ini文件:
C:\>php -?
[...]
-c <path>|<file> Look for php.ini file in this directory
[...]
-d foo[=bar] Define INI entry foo with value 'bar'
例如爲:
php -d register_globals=1 do-stuff.php
當然,從長遠來看,最好是簡單地修復腳本。否則,你會發現有一天腳本在系統升級後甚至不會運行。
如果您使用shebang語法,您可能需要爲PHP編寫一個包裝器,以便您可以提供多個參數。
您可以在任何想要「註冊」的陣列上隨時撥打extract()
。您應該檢查手冊中的其他參數,它可以讓您控制它應該覆蓋變量還是將它們作爲前綴。
注意register_globals
已被棄用,也有做這樣的事情的時候,你應該考慮一定的安全問題。
在這種情況下,shebang可以是`#!/ usr/bin/php -dregister_globals = 1` - 在那裏支持有限的串聯參數。 – mario 2011-01-29 19:11:16