許多 PHP 開發者習慣在 Windows 開發、Linux 部署,環境差異常導致上線故障。掌握 Linux 原生環境搭建,不僅能消除「開發機與生產機不一致」的隱患,更能深化對系統層面的理解——這是資深工程師的必修課。
將三個 .tar.gz 包放入 /var/local 並解壓:
cd /var/local
tar -xzpvf mysql-4.0.15.tar.gz
tar -xzpvf php-4.3.3.tar.gz
tar -xzpvf httpd-2.0.47.tar.gz
cd mysql-4.0.15
./configure --prefix=/usr/local/mysql
make
make install
cd ..
adduser -s /bin/false mysql
/usr/local/mysql/bin/mysql_install_db
chown -R root /usr/local/mysql/
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql/
echo /usr/local/mysql/lib/mysql/lib >> /etc/ld.so.conf
ldconfig
echo "/usr/local/mysql/bin/mysqld_safe &" >> /etc/rc.d/rc.local
/usr/local/mysql/bin/mysqld_safe &
/usr/local/mysql/bin/mysqladmin -uroot password '你的強密碼'
# 登入後刪除匿名用戶
mysql -u root -p
DELETE FROM user WHERE user='';
FLUSH PRIVILEGES;
QUIT
cd httpd-2.0.47
./configure --prefix=/usr/local/httpd --enable-so
make
make install
cd ..
# 啟動測試
/usr/local/httpd/bin/apachectl start
# 加入開機自啟
echo "/usr/local/httpd/bin/apachectl start &" >> /etc/rc.d/rc.local
# 暫停以安裝 PHP
/usr/local/httpd/bin/apachectl stop
cd php-4.3.3
./configure --with-apxs2=/usr/local/httpd/bin/apxs --with-mysql=/usr/local/mysql
make
make install
cp php.ini-dist /usr/local/lib/php.ini
/usr/local/httpd/bin/apachectl starttest.php:<?php phpinfo(); ?>dnf/apt)安裝 httpd、mysql-server、php-fpm,避免手動編譯維護負擔。