內容概要:
一.? php配置
1. 配置disable_function
disable_functions = eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close
2. 配置error_log
PHP redis,display_errors=off
log_errors=on
error_log=/path/to/logfile
error_reporting = E_ALL | E_STRICT
錯誤級別參考? http://www.aminglinux.com/bbs/thread-6973-1-1.html
3. 配置open_basedir
mysql?php.ini: open_basedir = /dir1/:/dir2
httpd.conf: php_admin_value open_basedir "/dir1/:/dir2/"
4. 安裝php的擴展模塊(memcache)
http://www.aminglinux.com/bbs/thread-45-1-1.html
二. mysql配置(部分常用的參數)
[mysqld]
docker redis集群、socket = /tmp/mysql.sock
# 為MySQL客戶程序與服務器之間的本地通信指定一個套接字文件(Linux下默認是/var/lib/mysql/mysql.sock文件)
port???????????? = 3306
# 指定MsSQL偵聽的端口
skip-name-resolve
#禁止MySQL對外部連接進行DNS解析,使用這一選項可以消除MySQL進行DNS解析的時間。但需要注意,如果開啟該選項, 則所有遠程主機連接授權都要使用IP地址方式,否則MySQL將無法正常處理連接請求.
php如何連接mysql數據庫,key_buffer?????? = 384M
# key_buffer是用于索引塊的緩沖區大小,增加它可得到更好處理的索引(對所有讀和多重寫)。索引被所有的線程共享,key_buffer的大小視內存大小而定。
table_open_cache????? = 512
# MySQL每打開一個表,都會讀入一些數據到table_open_cache緩存中,當MySQL在這個緩存中找不到相應信息時,才會去磁盤上讀取。默認值64, 假定系統有200個并發連接,則需將此參數設置為200*N(N為每個連接所需的文件描述符數目);當把table_open_cache設置為很大時,如果系統處理不了那么多文件描述符,那么就會出現客戶端失效,連接不上.
max_allowed_packet = 4M
# 接受的數據包大小;增加該變量的值十分安全,這是因為僅當需要時才會分配額外內存。例如,僅當你發出長查詢或MySQLd必須返回大的結果行時MySQLd才會分配更多內存。 該變量之所以取較小默認值是一種預防措施,以捕獲客戶端和服務器之間的錯誤信息包,并確保不會因偶然使用大的信息包而導致內存溢出。
php讀取mysql、sort_buffer_size = 2M
# MySQL執行排序使用的緩沖大小。如果想要增加ORDER BY的速度,首先看是否可以讓MySQL使用索引而不是額外的排序階段。如果不能,可以嘗試增加sort_buffer_size變量的大小
read_buffer_size = 2M
# 讀查詢操作所能使用的緩沖區大小。和sort_buffer_size一樣,該參數對應的分配內存也是每連接獨享。對表進行順序掃描的請求將分配一個讀入緩沖區,MySQL會為它分配一段內存緩沖區。 如果對表的順序掃描請求非常頻繁,并且你認為頻繁掃描進行得太慢,可以通過增加該變量值以及內存緩沖區大小提高其性能.
join_buffer_size = 2M
# 聯合查詢操作所能使用的緩沖區大小,和sort_buffer_size一樣,該參數對應的分配內存也是每連接獨享
php連接mysql實例?query_cache_size = 32M
# 指定MySQL查詢結果緩沖區的大小
read_rnd_buffer_size??? = 2M
# 隨機讀緩沖區大小。當按任意順序讀取行時(例如,按照排序順序),將分配一個隨機讀緩存區。進行排序查詢時,MySQL會首先掃描一遍該緩沖,以避免磁盤搜索,提高查詢速度,如果需要排序大量數據,可適當調高該值。但MySQL會為每個客戶連接發放該緩沖空間,所以應盡量適當設置該值,以避免內存開銷過大
myisam_sort_buffer_size =64M
# MyISAM表發生變化時重新排序所需的緩沖
php使用redis,thread_concurrency????? = 8
# 最大并發線程數,取值為服務器邏輯CPU數量×2
thread_cache??????????? = 8
#該值表示可以重新利用保存在緩存中線程的數量,當斷開連接時若緩存中還有空間,那么客戶端的線程將被放到緩存中,如果線程重新被請求,那么請求將從緩存中讀取,若果緩存中是空的或者是新的請求,那么線程將被重新創建。設置規律為:1G內存設置為8,2G內存設置為16,4G以上設置為64
max_connections = 1000
#MySQL的最大連接數,如果服務器的并發連接請求量比較大,建議調高此值,以增加并行連接數量,當然這建立在機器能支撐的情況下,因為如果連接數越多,介于MySQL會為每個連接提供連接緩沖區,就會開銷越多的內存,所以要適當調整該值,不能盲目提高設值。可以過'conn%'通配符查看當前狀態的連接數量,以定奪該值的大小。
php與mysql程序設計。max_connect_errors = 6000
# 對于同一主機,如果有超出該參數值個數的中斷錯誤連接,則該主機將被禁止連接。如需對該主機進行解禁,執行:FLUSH HOST。
open_files_limit = 65535
# MySQL打開的文件描述符限制,默認最小1024
skip-locking
# 避免MySQL的外部鎖定,減少出錯幾率增強穩定性。
php只能使用mysql。wait_timeout? = 8
# 表示空閑的連接超時時間,默認是28800s,這個參數是和interactive_timeout一起使用的,也就是說要想讓wait_timeout 生效,必須同時設置interactive_timeout
interactive_timeout = 8
long_query_time = 1
#慢查詢日志的超時時間
log_slow_queries = /path/to/slow_queries
php與mysql基礎教程,# 慢查詢日志路徑,必須配合上面的參數一同使用
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态