首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

PHP + MySQL 環境安裝與配置完整教程(Windows/Linux)

     編輯:MySQL 資料庫相關知識

一、PHP 安裝與 Apache 整合

  1. 下載 PHP ZIP 包(官網),解壓至指定目錄(如 D:/Software/GreenSoft/Php/php5.4.6/)
  2. 編輯 Apache httpd.conf,新增:
# PHP 模組載入
LoadModule php5_module "D:/Software/GreenSoft/Php/php5.4.6/php5apache2_2.dll"
# php.ini 路徑
PHPIniDir "D:/Software/GreenSoft/Php/php5.4.6/"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
# 後綴名過濾
AddHandler application/x-httpd-php .php
# 或使用 FilesMatch
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>

二、PHP 連接 MySQL 配置

編輯 php.ini:

; 擴展庫目錄(依實際路徑調整)
extension_dir = "D:/Software/GreenSoft/Php/php5.4.6/ext"
; 啟用 MySQL 擴展
extension=php_mysql.dll

三、MySQL 安裝與服務註冊(Windows)

  1. 下載 MySQL 壓縮包(官網),解壓至 D:\Software\GreenSoft\MySql\MySql56
  2. 將 bin 目錄加入系統環境變數 Path
  3. 以管理員身分開啟 CMD,執行:
cd D:\Software\GreenSoft\MySql\MySql56\bin
mysqladmin -u root -p debug shutdown
mysqld --install MySql56 --defaults-file=D:\Software\GreenSoft\MySql\MySql56\my.cnf
net start MySql56
# 停止:net stop MySql56
# 移除:mysqld --remove MySql56 / sc delete MySql56
# 測試:mysqlshow / mysqladmin version status proc

四、MySQL 核心配置檔 (my.cnf) 詳細說明

[mysqld]
port=3306
serverid=1
socket=/tmp/mysql.sock
basedir="D:/Software/GreenSoft/MySql/MySql56/"
datadir="E:/DataRoot/MySqlData/"
log-error="D:/Software/GreenSoft/MySql/MySql56/log/error.log"
log-slow-queries="D:/Software/GreenSoft/MySql/MySql56/log/slow-query.log"
character-set-server=latin1
default-storage-engine=INNODB
wait_timeout=10
sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_connect_errors=10000000
max_connections=100
back_log=384
query_cache_size=32M
read_buffer_size=4M
read_rnd_buffer_size=16M
key_buffer_size=54M
sort_buffer_size=32M
join_buffer_size=8M
skip-locking
skip-name-resolve
# skip-networking  # 遠程連接勿開啟
table_cache=1024
table_open_cache=256
tmp_table_size=34M
thread_cache_size=120
thread_concurrency=8

# InnoDB 參數
innodb_additional_mem_pool_size=3M
innodb_buffer_pool_size=105M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=2M
innodb_log_file_size=53M
innodb_thread_concurrency=9

# MyISAM 參數
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=68M

關鍵參數分類說明

類別核心參數說明重點
路徑與基礎basedir, datadir, socket, pid-file, character-sets-dir, lower_case_table_name指定安裝根目錄、資料目錄、通訊套接字、進程 PID 檔、字符集目錄、表名大小寫敏感度
語言與字符集character-set-server, collation-server, language新資料庫/表預設字符集、排序規則、錯誤訊息語言
網路與安全port, enable-named-pipes, skip-name-resolve, skip-networking, skip-grant-tables, shared-memory, bind-addressTCP 端口、命名管道、禁用 DNS 反解、禁用 TCP/IP、跳過權限表、共享記憶體、綁定 IP
記憶體與快取key_buffer_size, query_cache_size, query_cache_type, read_buffer_size, read_rnd_buffer_size, sort_buffer_size, join_buffer_size, table_cache, tmp_table_size, thread_cache_size, thread_concurrency索引塊快取、查詢快取、讀/排序/連接緩衝區、表快取、臨時表大小、執行緒快取、並發數
日誌系統log, log-slow-queries, long_query_time, log-bin, log-bin-index, max_binlog_size, binlog-do/ignore-db, sync_binlog, log-error通用查詢日誌、慢查詢日誌、二進制日誌(含索引/大小/過濾/同步)、錯誤日誌
主從複制server-id, log-bin, master-host/user/password/port, master-connect-retry, read-only, replicate-do/ignore-db/table, slave-skip-errors主從唯一 ID、二進制日誌、主庫連線資訊、重試間隔、從庫唯讀、複制過濾規則、錯誤跳過
InnoDB 核心innodb_buffer_pool_size, innodb_log_file_size, innodb_log_buffer_size, innodb_flush_log_at_trx_commit, innodb_file_per_table, innodb_thread_concurrency緩衝池(建議物理記憶體 80%)、日誌檔案大小、日誌緩衝、提交同步策略、獨立表空間、內核並發
InnoDB 日誌與表空間innodb_log_group_home_dir, innodb_log_files_in_group, innodb_flush_method, innodb_data_home_dir, innodb_data_file_path, innodb_autoextend_increment, innodb_lock_wait_timeout, innodb_fast_shutdown日誌目錄/檔案數/同步方式、表空間路徑/檔案路徑/自動擴展/鎖等待/快速關閉

五、Linux 系統安裝 PHP MySQL 擴展

若遇 Call to undefined function mysql_connect(),檢查 phpinfo() 確認無 mysql 擴展,則需編譯安裝:

cd /php/source/ext/mysql
/usr/local/bin/phpize
./configure --with-php-config=/usr/local/bin/php-config --with-mysql=/usr/local/mysql/
make && make install
# 將產生的 mysql.so 複製到 extension_dir 目錄
# php.ini 新增 extension=mysql.so
# 重啟 Apache

本教程涵蓋 Windows 綠色安裝與 Linux 編譯安裝兩大主流場景,配置檔參數分類詳解可作為調優參考。實際部署時請根據硬體資源(記憶體、CPU 核心數)調整緩衝區大小與並發參數。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved