晕死,经常偷偷摸摸改我的php.ini,这不几天没上又http 500 error了。
extension_dir = “/a/b/c/d/e/f” 是默认值,经常会替换我的
extension_dir = “/m/n/o/p”
另外,php5模式可以识别
extension=/m/n/o/p/gmp.so
而如果切换到 fcgi模式,那个程序笨死了,会找 /a/b/c/d/e/f//m/n/o/p/gmp.so
当然找不到,就500了。
因此要想个办法,既支持 fcgi, 又支持php5模式,做最大的兼容,达到强大的鲁棒性。
绝对路径指 定 extension已不可能,只好换成相对路径。
在我的p目录下建x目录,再在x下建y软链接指向 /m/n/o/p
这样 /m/n/o/p/x/y 与 /m/n/o/p就是一回事了,同时这样也是6层目录,与默认值一致。
把extension那句改为:
extension = ../../../../../../m/n/o/p/gmp.so
这样,不论是不是偷偷摸摸换掉我的 extension_dir 这一句,相对加载时都是先上6层目录,再从头找gmp.so。
测试了一下,fcgi模式和php5模式都兼容。
收工。