首先更新系統包列表并升級現有軟件包,確保系統處于最新狀態:
sudo apt update && sudo apt upgrade -y
ThinkPHP依賴PHP及多個擴展(如MySQL、mbstring、XML等),通過以下命令安裝:
sudo apt install php php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
說明:
php:PHP核心解釋器;php-fpm:PHP FastCGI進程管理器(適用于Nginx);php-mysql:MySQL數據庫驅動;php-curl/php-gd/php-mbstring:ThinkPHP常用功能擴展(如HTTP請求、圖片處理、多字節字符串)。ThinkPHP推薦使用Nginx或Apache,這里以Nginx為例:
sudo apt install nginx -y
安裝完成后啟動Nginx并設置開機自啟:
sudo systemctl start nginx
sudo systemctl enable nginx
編輯Nginx默認站點配置文件(或新建自定義配置),添加以下內容:
sudo nano /etc/nginx/sites-available/default
替換為以下配置(關鍵部分):
server {
listen 80;
server_name your_domain_or_ip; # 替換為你的域名或IP
root /var/www/html/thinkphp/public; # ThinkPHP項目public目錄
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string; # 路由轉發到index.php
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 根據PHP版本調整(如php7.4-fpm.sock)
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all; # 禁止訪問.htaccess文件
}
}
說明:
root需指向ThinkPHP項目的public目錄(入口文件index.php所在位置);fastcgi_pass需與PHP-FPM的socket路徑一致(可通過ls /run/php/查看)。測試Nginx配置語法并重啟:
sudo nginx -t
sudo systemctl restart nginx
ThinkPHP項目依賴Composer管理依賴,安裝命令:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
驗證安裝:
composer -V
有兩種方式部署:
/var/www/html/thinkphp:wget https://github.com/top-think/think/archive/refs/tags/v6.0.0.tar.gz
tar -zxvf v6.0.0.tar.gz -C /var/www/html/
mv /var/www/html/think-6.0.0 /var/www/html/thinkphp
composer create-project topthink/think your_project_name
sudo mv your_project_name /var/www/html/thinkphp
安裝MySQL數據庫并創建項目所需數據庫:
sudo apt install mysql-server -y
sudo mysql_secure_installation # 初始化數據庫(設置root密碼等)
登錄MySQL并創建數據庫、用戶:
sudo mysql -u root -p
在MySQL命令行中執行:
CREATE DATABASE thinkphp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'thinkphp_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON thinkphp_db.* TO 'thinkphp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
進入項目目錄,復制.env.example為.env并編輯:
cd /var/www/html/thinkphp
cp .env.example .env
nano .env
修改數據庫配置(關鍵部分):
[APP]
APP_DEBUG = true # 開發環境開啟調試
[DATABASE]
DB_TYPE = mysql
DB_HOST = 127.0.0.1
DB_NAME = thinkphp_db
DB_USER = thinkphp_user
DB_PWD = your_password
DB_PORT = 3306
說明:
APP_DEBUG:開發環境設為true,生產環境設為false;ThinkPHP需要寫入runtime目錄(緩存、日志等),設置權限:
sudo chown -R www-data:www-data /var/www/html/thinkphp
sudo chmod -R 755 /var/www/html/thinkphp/runtime
啟動Nginx服務,通過瀏覽器訪問http://your_domain_or_ip(若使用IP)或域名。若看到ThinkPHP歡迎頁面,說明環境搭建成功。
sudo systemctl status php8.1-fpm),確認Nginx配置中的fastcgi_pass路徑正確。try_files指令正確(try_files $uri $uri/ /index.php?$query_string)。runtime目錄,檢查www-data用戶對項目的所有權(sudo chown -R www-data:www-data /var/www/html/thinkphp)。通過以上步驟,你即可在Debian系統上成功搭建ThinkPHP開發環境,滿足項目開發需求。