:::
20-3-3 安裝 PHP
- 查詢PHP版本,下面的 7.2 請改成實際版本號,例如 7.4 之類的
php -v - 安裝 PHP 及相關套件
sudo apt install php-fpm php-mysql php-curl php-mbstring php-zip php-soap php-mail php-gd php-xml - 編輯 Nginx 的網站設定檔,使網站支援PHP(Ctrl+O 儲存,Ctrl+X 離開)
sudo nano /etc/nginx/sites-available/default內容為:
server { listen 80 default_server; listen [::]:80 default_server; client_max_body_size 200M; root /var/www/html; # Add index.php to the list if you are using PHP index index.php index.html index.htm index.nginx-debian.html; server_name www.學校網域.tyc.edu.tw; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ /index.php; } # pass PHP scripts to FastCGI server # location ~ \.php$ { include snippets/fastcgi-php.conf; # With php-fpm (or other unix sockets): fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; # With php-cgi (or other tcp sockets): #fastcgi_pass 127.0.0.1:9000; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # location ~ /\.ht { deny all; } } - 先檢查 Nginx 設定檔語法是否正確
sudo nginx -t - 最後重新啟動 Nginx 讓設定生效
sudo systemctl reload nginx - 建個PHP測試檔
sudo nano /var/www/html/info.php內容為:
<?php phpinfo(); - 執行看看,是否能運作:
http://學校IP或網址/info.php - 修改 php.ini 讓網站運作更順利
sudo nano /etc/php/7.2/fpm/php.ini請按著下表調整設定吧:
設定項目 建議值 相關說明 max_execution_time 150 每個程序最大允許執行時間(秒),0 表示沒有限制。這個參數有助於阻止劣質程序無休止的佔用伺服器資源。
檔案上傳時,若檔案很大,頻寬卻很小,那麼此值需調大一點,例如上傳 10M 檔案需要花2分鐘,那此值就不要小於 120。max_input_time 120 每個程序解析輸入數據 (POST, GET, upload) 的最大允許時間(秒)。
-1 表示不限制。max_input_vars 5000
請刪除前面的 ;表單可接收的變數數量,超過此數量,就可能無法完全接收表單內容。
部份系統有匯入功能,匯入後若有表單確定畫面,通常會有很多變數,因此,調大此值有助於匯入資料的完整性。memory_limit 240M 一個程序所能夠申請到的記憶體空間 (可以使用 K 和 M 作為單位)。 這有助於防止劣質程序消耗完伺服器上的所有記憶體。如果要取消記憶體限制,則必須將其設為 -1 。display_errors on 是否顯示錯誤訊息?建議開啟!!否則網站變成空白時將很難進行除錯。post_max_size 220M 允許的 POST 數據最大字節長度。此設定也影響到檔案上傳。
如果 POST 數據超出限制,那麼 $_POST 和 $_FILES 將會為空。
要上傳大檔案,該值必須大於 upload_max_filesize 指令的值。
如果啟用了記憶體限制,那麼該值應當小於 memory_limit 指令的值。upload_max_filesize 200M 允許上傳的檔案的最大尺寸。max_file_uploads 300 最多只能傳幾個檔案?請視需求設定之。date.timezone Asia/Taipei
請刪除前面的 ;主機預設時區,若主機在台灣,請務必設置為「Asia/Taipei」,否則系統抓到的可能會有誤差。 - 重啟 PHP
sudo service php7.2-fpm restart
20-3-2 安裝 MySQL 資料庫