你是不是也遇到過這樣的情況:本地PHP項目跑得好好的,一部署到Linux服務器就“報錯”、“404”、“權限不足”?別急,我也是從踩坑中一路走來的老手。今天用問答形式,帶你輕松搞定PHP項目在Linux上的部署!
Q1:我該選哪種Linux發(fā)行版?
推薦Ubuntu或CentOS,新手友好,社區(qū)資源多。比如我上次部署一個電商系統(tǒng),就用了Ubuntu 22.04,Apache + PHP 8.2組合,穩(wěn)定得像開了掛。
Q2:怎么安裝PHP和依賴?
命令行一鍵搞定!比如:
sudo apt updatesudo apt install php8.2 php8.2cli php8.2fpm php8.2mysql php8.2curl php8.2gd php8.2xml y記得檢查版本是否匹配你的項目(比如laravel要求PHP >= 8.0),不然會卡在“Class not found”這種尷尬里。
Q3:文件權限怎么設置?
這是最容易忽略的坑!我的做法是:
chown R : /var/ R 755 /var/特別是storage、bootstrap/cache這些目錄,必須給寫權限,否則 Laravel 報錯“Unable to write file”——我當時差點以為代碼寫錯了!
Q4:Nginx配置要怎么寫?
別自己瞎寫!直接復制我的模板(放在/etc/nginx/sitesavailable/default):
server { listen 80; root /var/; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgiphp.conf; fastcgi_pass unix:/run/php/php8.2fpm.sock; }}保存后重啟nginx:`sudo systemctl restart nginx`,瞬間通了!
Q5:數據庫連接怎么辦?
先確保MySQL已安裝并啟動,然后修改config/database.php中的host為"localhost"(不是127.0.0.1?。?,密碼對上就行。我曾因少寫一個空格導致“Access denied”,調試了整整兩小時…
最后提醒一句:部署完一定要測試訪問路徑、上傳圖片、登錄功能,別等用戶反饋才后悔?,F在你也可以自信地說:“我的PHP項目,在Linux上穩(wěn)如老狗!”
轉發(fā)給正在學部署的朋友吧~一起少踩坑,多出活!?

