1. 準備CentOS開發環境
首先更新系統軟件包以獲取最新安全補丁和功能:
sudo yum update -y
安裝EPEL倉庫(Extra Packages for Enterprise Linux),它提供了額外的PHP模塊和工具:
sudo yum install epel-release -y
2. 安裝LAMP/LEMP核心組件
Apache是CentOS默認的Web服務器,適合大多數PHP項目:
sudo yum install httpd -y
sudo systemctl start httpd
sudo systemctl enable httpd # 設置開機自啟
驗證Apache是否運行:在瀏覽器訪問http://your_server_ip
,應看到Apache默認頁面。
MariaDB是CentOS默認的MySQL兼容數據庫,性能更優:
sudo yum install mariadb-server mariadb -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
運行安全腳本配置數據庫(設置root密碼、刪除匿名用戶、禁用遠程root登錄):
sudo mysql_secure_installation
安裝PHP核心及常用模塊(如MySQL連接、GD圖像處理、MB字符串處理):
sudo yum install php php-mysqlnd php-gd php-mbstring php-xml php-bcmath -y
重啟Apache使PHP生效:
sudo systemctl restart httpd
驗證PHP安裝:在/var/www/html
目錄下創建info.php
文件,內容為<?php phpinfo(); ?>
,訪問http://your_server_ip/info.php
,應看到PHP信息頁面。
3. 配置PHP環境
PHP的主配置文件位于/etc/php.ini
,可根據需求修改以下參數:
memory_limit
:增加腳本內存限制(如256M
);upload_max_filesize
:設置上傳文件大小限制(如50M
);max_execution_time
:延長腳本執行時間(如300
秒)。sudo systemctl restart httpd
若需托管多個網站,可創建虛擬主機。例如,為example.com
創建配置文件:
sudo vi /etc/httpd/conf.d/example.com.conf
添加以下內容(替換example.com
為你的域名):
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog /var/www/example.com/error.log
CustomLog /var/www/example.com/requests.log combined
<Directory /var/www/example.com/public_html>
AllowOverride All # 允許.htaccess覆蓋配置
Require all granted
</Directory>
</VirtualHost>
創建網站目錄并設置權限:
sudo mkdir -p /var/www/example.com/public_html
sudo chown -R apache:apache /var/www/example.com/public_html
重啟Apache使配置生效:
sudo systemctl restart httpd
4. 編寫與部署PHP應用
使用PSR-1(基本編碼規范)、PSR-2(代碼風格指南)、PSR-4(自動加載)等標準,確保代碼結構一致、可維護。例如:
StudlyCaps
(如UserController
);camelCase
(如getUserInfo
);.php
。Composer是PHP的依賴管理工具,可自動安裝第三方庫(如Laravel、Twig)。安裝Composer:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
創建composer.json
文件聲明依賴(如使用Laravel):
{
"require": {
"laravel/framework": "^10.0"
}
}
安裝依賴:
composer install
使用Laravel、Symfony等MVC框架,將應用分為模型(Model,處理數據)、視圖(View,展示界面)、控制器(Controller,處理邏輯),提高代碼復用性和可維護性。例如,Laravel的路由文件routes/web.php
可定義URL與控制器的映射:
use App\Http\Controllers\UserController;
Route::get('/users', [UserController::class, 'index']);
$stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?");
$stmt->execute([$email]);
$user = $stmt->fetch();
htmlspecialchars
函數轉義輸出:echo htmlspecialchars($userInput, ENT_QUOTES, 'UTF-8');
@csrf
指令)。5. 測試與部署
在開發環境中使用XAMPP、WAMP或直接運行php -S localhost:8000
啟動內置服務器,測試應用功能。
APP_DEBUG=false
);