PHP配置相關知識集錦

2021-09-27 07:55:35 字數 1724 閱讀 9868

變數名

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 ...