WSL設定php開發環境

yyy123456 發表於 2022-01-26
PHP

WSL設定php開發環境

相比於 docker 的繁瑣,wsl 或許是在 windows 10 系統上開發php的好選擇。目前免費的環境是 ubuntu20,centos 試過好像不太好用,就此記錄一下。

購買ubuntu

因為是免費的,所以只要進入微軟商店找到,下載安裝即可,比較簡單。

安裝開發環境

開啟 powershell
ubuntu2004.exe config –default-user root

檢視版本命令
cat /etc/issue
應該顯示
Ubuntu 20.04.xxxxx

進入系統,必須首先 apt update ,否則什麼軟體都不好裝。

apt install nginx(nginx官網推薦的方法放最後)
/etc/init.d/nginx  start

apt install redis

apt install php7.4-fpm

假設需要安裝php其他外掛

apt install php7.4-memcache
apt install php7.4-mbstring
apt install php7.4-gd
apt install php7.4-dom
apt install php7.4-mysql
apt install php7.4-redis

需要注意,這裡,只要新安裝了php的外掛,就需要重啟php7.4-fpm的服務。

/etc/init.d/php7.4-fpm start


apt install mysql-server
apt install mysql-client
/etc/init.d/mysql start
/etc/init.d/redis-server start


curl -o /usr/local/bin/composer https://mirrors.aliyun.com/composer/composer.phar
chmod +x /usr/local/bin/composer

需要在配置檔案加 ~/.bashrc
export COMPOSER_ALLOW_SUPERUSER=1

然後命令列
composer -V
可以測試 composer 是否安裝成功。

apt install net-tools
apt install unzip

netstat -antup

如何修改MySQL監聽IP地址

Mysql預設在本地環路地址127.0.0.1的3306埠監聽,要使用其它IP地址需要修改配置檔案。

1.編輯/etc/my.cnf

在[mysqld]節中增加下面一行:

bind-address=0.0.0.0 #全部地址或者指定的ip地址

2.重啟服務

service mysqld restart

3、然後必須修改mysql的密碼,否則客戶端無法登入。
先在命令列

 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

雜項和 nginx 設定

ssh-keygen -t rsa -b 4096
然後修改成自己的,注意檔案許可權。

拉程式碼到本地。

composer config –global github-oauth.github.com ghp_xxxxxxxxxxxx

mount -t drvfs F: /mnt/myshare

再次修改nginx
vim /etc/nginx/sites-enabled/default
或者也可以刪除這個default 檔案
把所有的虛擬主機都放conf.d 或許更加習慣。

   charset  utf-8;

      location / {
        try_files $uri $uri/ /index.php?$query_string;
      }

      location ~ \.php$ {
        #fastcgi_pass 127.0.0.1:9000;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
  #      fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include snippets/fastcgi-php.conf;
        #include fastcgi_params;
      }

終於,看見 laravel 的介面了。

上傳檔案的大小限制

這是nginx 設定在 http 項內。
client_max_body_size 10m;

php.ini 需要設定
post_max_size=10m
upload_max_filesize=10m

nginx 官網推薦的方式

echo $'deb https://nginx.org/packages/ubuntu/ focal nginx
deb-src https://nginx.org/packages/ubuntu/ focal nginx ' > /etc/apt/sources.list.d/nginx.list
apt update
apt install nginx
本作品採用《CC 協議》,轉載必須註明作者和本文連結