在 WSL Ubuntu 环境下配置 PHP 开发环境

安装环境

环境选取:Nignx + MariaDB 。

sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt-get install php7.4 php7.4-fpm php7.4-bcmath php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-xml php7.4-zip php-redis nginx mariadb-server

启动 Nginx

sudo service nginx status     //查看 nginx 进程状态
sudo service nginx start      //启动 nginx 进程
sudo service nginx stop       //停止 nginx 进程
sudo service nginx restart    //重启 nginx 进程

启动并配置 MariaDB 数据库

sudo service mysql start  
sudo mysql_secure_installation  

联动 PHP × Nginx

cd /etc/nginx/sites-avaiable
sudo vim default

找到下面几行,去掉注释

root /var/www/html;
index index.html index.php index.htm;
location ~ \.php$ {
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

测试

cat >> /var/www/html/test.php << EOF
<?php phpinfo(); ?>
EOF

浏览器访问http://localhost/test.php,看到PHP 7.4.22 - phpinfo()页面即成功安装。

自启动

我们可以在 Windows 桌面上设置一个.bat批处理脚本达到自启动的目的。

首先在合适的位置放一个启动服务的脚本,这里我选择/home/hsiaofeng/start.sh

service nginx start
service php7.4-fpm start
service mysql start

接着编写.bat脚本文件。

wsl -d ubuntu -u root /home/hsiaofeng/start.sh
rem 将后面的改为你自己的路径

之后需要运行Web服务器的时候直接双击脚本就可以了。

参考资料

  1. Win10 下的 WSL (Linux 子系统) 开发环境搭建 (PHP+Nginx+MySQL+Composer+SSH) | PHP 技术论坛
  2. Nginx启用php支持 | 稻草人·正
  3. Ubuntu Nginx中启用php支持_Csdoker的博客-CSDN博客
  4. WSL 服务自动启动的正确方法 - 知乎(评论区 @楚石)

添加新评论


1 条评论

    Hsiao Feng Hsiao Feng
    Mar 4, 2022 回复

    You can use aptitude