PHP -s https,就是通過PHP自帶的簡易服務器,將網站部署在本地,并使用https協議進行訪問。這種方式方便、實用,很多開發者都會在開發和測試階段使用,下面我們來看一下如何使用php -s https。
首先,我們需要在終端中輸入以下命令:php -S localhost:8000 -t public/ -d display_errors=1 -d error_reporting=E_ALL 意思是在本地開啟一個以8000端口為基礎的PHP服務器,網站目錄為public,顯示錯誤信息且顯示所有級別的錯誤。
php -S localhost:8000 -t public/ -d display_errors=1 -d error_reporting=E_ALL
接下來,我們需要使用openssl來生成一些加密密鑰,用于https連接。在終端中輸入以下命令:openssl genrsa -out server.key 2048 生成服務器私鑰;openssl req -new -key server.key -out server.csr 輸入一些內容,如國家、省、城市、公司、姓名等信息,生成證書請求文件;openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt 生成有效期為10年的證書文件。openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
生成證書之后,我們需要將證書名稱更改為正確的名稱,以便讓PHP服務器正確加載證書。將server.crt更改為ssl.crt,將server.key更改為ssl.key,可以通過以下命令進行更改:mv server.crt ssl.crt;mv server.key ssl.key。mv server.crt ssl.crt
mv server.key ssl.key
最后,我們需要在php.ini文件中啟用openssl擴展。找到配置文件的位置,通常為/usr/local/etc/php/,在文件中找到動態擴展部分ext下的openssl.so,去掉前面的分號(說明被注釋掉了),然后重啟php-fpm。extension=openssl.so
以上就是使用php -s https的完整過程,當php服務器啟動之后,可以在瀏覽器中輸入https://localhost:8000/進行訪問,會看到瀏覽器會提示證書不安全,但這并不影響我們使用。
需要注意的是,該方式僅適用于開發和測試階段,如果需要在生產環境中使用https,我們需要使用真實的SSL證書。