變數名
php.ini-development
php.ini-production
error_reporting
e_all
e_all & ~e_deprecated & ~e_strict
display_errors
onoff
display_startup_errors
onoff
track_errors
onoff
mysqlnd.collect_memory_statistics
onoff
zend.assertions1=1
opcache.huge_code_pages01
各項配置可以參考官方文件:
這裡著重說一下opcache.huge_code_pages
關於hugepages,簡單的說下就是預設的記憶體是以4kb分頁的,而虛擬位址和記憶體位址是需要轉換的, 而這個轉換是要查表的,cpu為了加速這個查表過程都會內建tlb(translation lookaside buffer), 顯而易見如果虛擬頁越小,表裡的條目數也就越多,而tlb大小是有限的,條目數越多tlb的cache miss也就會越高, 所以如果我們能啟用大記憶體頁就能間接降低這個tlb cache miss。通過開啟此配置,並分配系統的hugepages大小,可顯著提高php執行效率,具體文章參考鳥哥的部落格:
一、section
php.ini本身是乙個文字檔案,內部分為多個section,使用方括號括起來,例如[php] [date]等
兩個比較特殊的section可以分別針對path和host來做個性化配置,只在cgi模式生效,當多個專案共用乙個配置,並且有區別配置項時,就可以用這種方式,例如:
[path=/dir]
post_max_size = 20m
[path=127.0.0.1]
post_max_size = 20m
二、注釋:;
三、配置項
一、載入是在模組初始化php_module_startup階段
二、php有三個命令引數控制配置項
三、載入方式和優先順序
使用-c指定的
系統環境變零phprc指定的配置檔案,檔名可以自定義
在當前目錄下的配置檔案
在php安裝目錄的/etc下
在前面的規則的基礎上,如果存在php-cli.ini和php-fpm.ini,可以根據不同的模式載入不同的配置檔案,否則使用php.ini(通過此方式可以配置有些系統函式只允許cli模式下使用:disable_functions=passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
)四、自定義配置字段
php解析後的配置以key-value的形式保到名為configuration_hash的全域性hashtable中,只要符合配置語法的配置項,都會載入,例如我們自己設定:why = 1,也會載入到hashtable中,不過我們無法通過ini_get獲取到,只能通過get_cfg_var獲取配置檔案中的自定義配置。
除此之外,ini_get和get_cfg_var還有一些區別,ini_get可以獲得ini_set修改後的值。,但get_cfg_var只會返回配置檔案中的值
PHP相關知識
mysql命令符 首先登入mysql伺服器 資料夾所在位置 登入mysql命令 1,mysql uroot proot,2,mysql u root p,3,mysql uroot p 實際上都差不多的,大同小異。選中資料庫 use 資料庫名 檢視資料庫中的表 show tables 然後我們可以建...
php 相關知識
1.yii通過phpmailer傳送郵件 max len 80 60 mailer subject subject body preg replace body mailer body body mailer altbody 不支援html顯示.r n body mailer addaddress ...
php相關知識,PHP基礎知識
1.單引號,雙引號 當雙引號中包含變數時,變數會與雙引號中的內容連線在一起 當單引號中包含變數時,變數會被當做字串輸出。world world str1 hello,world hello,world str2 hello,world hello,world echo str1 echo echo ...