register_global 設定

前陣子買了 IBM 3650 之後
因為相當滿意它的工作效能
而且事實上也有許多原本分散著提供服務的SERVER已經到了需要退役的年紀
所以,陸陸續續著手將這些服務整併在一起
但是好景不常,唉~


不是說IBM 3650不夠強壯,它還是老神在在的跑的輕鬆愜意
問題是,這些年來陸續建置的服務、撰寫的程式當中
有些對php不同的需求...大致可以分成兩類
1.版本差異導致需要的語法、變數不同
2.嚴謹程度不同 ( 像SFS就是屬於嚴謹度高的嚕 @@ )
如果把 php.ini 中的 register_global 改成 On ,學務系統就會出現警告罷工
但是如果把 register_global 改成 Off 那麼就有些服務會「跛腳」...  >"<
實在是傷腦筋....
不過,天無絕人之路,總是可以找到解決的方法 
( 當然不是把舊的服務都改寫成register_global off 的方式 XD  )
而是乾脆讓SERVER的 php.ini 預設 register_global = Off
再讓某些目錄中的程式可以使用 register_global = On 的便利   ^^  (有風險?不麻煩比較要緊啦 XD )
作法是,先在httpd.conf中加入要使用 register_global = On 的目錄
 <Directory "/目錄" >
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
接著,再到該目錄中建立 .htaccess

加上 
php_value register_globals on
php_value register_long_arrays on
httpd restart ,OK~就醬子  ^^

留言