关于PHP的ini设置

PHP中有些设置是不能修改的,有些设置只能在指定的地方修改,有些设置在任何地方都能修改,原来不能到在哪里控制的,今晚就借着PHP手册到PHP源码里面一探究竟。

手册中提到:

    

        

            

            

            

        

    

    

        

            

            

            

        

        

            

            

            

        

        

            

            

            

        

        

            

            

            

        

    

常量 含义
PHP_INI_USER 1 配置选项可在用户的 PHP 脚本或 Windows  注册表中设置
PHP_INI_PERDIR 2 配置选项可在 php.ini, .htaccess 或  httpd.conf 中设置
PHP_INI_SYSTEM 4 配置选项可在 php.ini or httpd.conf  中设置
PHP_INI_ALL 7 配置选项可在各处设置

根据这些常量查PHP的源码,发现配置选项在设置的时候都指定了这些常量属性的,要想知道某配置选项是否可以修改,在源码中 grep PHP_INI -R * | grep 该配置选项   就行了。

还了解了几个宏定义,如,初始化配置选项时总是先 PHP_INI_BEGIN() 然后PHP_INI_END()  ,这里给出这两个宏的定义:
#define PHP_INI_BEGIN       ZEND_INI_BEGIN
#define PHP_INI_END         ZEND_INI_END

#define ZEND_INI_BEGIN()        static zend_ini_entry ini_entries[] = {
#define ZEND_INI_END()      { 0, 0, NULL, 0, NULL, NULL, NULL, NULL, NULL, 0, NULL, 0, 0, NULL } };

所以,初始化配置选项就是按照一定的数据结构写到一个数组里。

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据