wsl 开发php,WSL 快速搭建 LNMP 环境

Windows Subsystem for Linux(简称 WSL )是一个为在 Windows 10 上能够原生运行 Linux 二进制可执行文件(ELF 格式)的兼容层。

如何启用 WSL 这里不再赘述,下方执行命令过程中出错,可以使用 sudo 再次尝试执行。注意。PHP-FPM 暂时只能通过监听 socket ,不能设置 listen 127.0.0.1:9000!

基于如下软件WSL Ubuntu 16.04.3

nginx 1.13.7

PHP 7.2.0

Mysql 5.7.20

编辑 /etc/apt/sources.list.d/nginx.list 文件。

添加密钥$ sudo apt-key adv --keyserver ha.pool.sks-keyservers.net --keyserver-options timeout=10 --recv-keys 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62

安装$ sudo apt update

$ sudo apt install nginx

$ sudo nginx

打开 127.0.0.1 看到 nginx 默认页面。

这里简要说明一下。

安装依赖$ sudo apt install autoconf \

dpkg-dev \

file \

libc6-dev \

make \

pkg-config \

re2c \

gcc g++ \

libedit-dev \

zlib1g-dev \

libxml2-dev \

libssl-dev \

libsqlite3-dev \

libfreetype6-dev \

libxslt1-dev \

libcurl4-gnutls-dev \

libpq-dev \

libmemcached-dev \

libzip-dev \

libpng-dev \

libjpeg-dev

下载并解压源码包$ cd /usr/local

$ sudo chmod 777 src

$ cd src

$ wget -O php-7.2.0.tar.gz http://hk1.php.net/get/php-7.2.0.tar.gz/from/this/mirro

$ tar -zxvf php-7.2.0.tar.gz

$ cd php-7.2.0

编译$ ./configure --prefix=/usr/local/php \

--with-config-file-path=/usr/local/php/etc \

--with-config-file-scan-dir=/usr/local/php/etc/conf.d \

--disable-cgi \

--enable-fpm \

--with-fpm-user=nginx \

--with-fpm-group=nginx \

--enable-ftp \

--with-curl \

--with-gd \

--with-gettext \

--with-iconv-dir \

--with-kerberos \

--with-libedit \

--with-openssl \

--with-pcre-regex \

--with-pdo-mysql \

--with-pdo-pgsql \

--with-xsl \

--with-zlib \

--with-mhash \

--with-png-dir=/usr/lib \

--with-jpeg-dir=/usr/lib\

--with-freetype-dir=/usr/lib \

--enable-mysqlnd \

--enable-bcmath \

--enable-libxml \

--enable-inline-optimization \

--enable-gd-native-ttf \

--enable-gd-jis-conv \

--enable-mbregex \

--enable-mbstring \

--enable-opcache \

--enable-pcntl \

--enable-shmop \

--enable-soap \

--enable-sockets \

--enable-sysvsem \

--enable-xml \

--enable-zip \

--enable-calendar \

--enable-intl \

--enable-exif

安装$ make -j "$(nproc)"

$ sudo make install

设置环境变量

编辑 ~/.bash\_profileexport PATH=/usr/local/php/sbin:/usr/local/php/bin:$PATH

编辑 /etc/sudoersDefaults secure\_path="/usr/local/php/bin:/usr/local/php/sbin:..."

升级 pecl$ sudo pecl update-channels

配置

将源文件中的 php.ini-development 复制到安装目录中的 etc 子目录 ,并改名为 php.ini。

将安装目录中的 etc 子目录中的 php-fpm.conf.default 复制为 php-fpm.conf。

将安装目录中的 etc/php-fpm.d 子目录中的 www.conf.default 复制为 www.conf。非常重要!

编辑 /usr/local/php/etc/php-fpm.d/www.confuser = nginx

group = nginx

listen = /run/php-fpm.sock

listen.owner = nginx

listen.group = nginx

listen.mode = 0660

启动$ sudo php-fpm -t

$ sudo php-fpm -D | -F

使用 Docker for Windows$ docker run -it -d --name wsl-lnmp-mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=mytest -e MYSQL\_DATABASE=test --mount src=wsl-lnmp-mysql-data,target=/var/lib/mysql mysql

编辑 /etc/nginx/conf.d/php.confserver {

server\_name 127.0.0.1;

listen 80;

root /app/test;

index index.html index.php;

location / {

try\_files $uri $uri/ /index.php?$query\_string;

}

location ~ .\*\.php(\/.\*)\*$ {

fastcgi\_pass unix:/run/php-fpm.sock;

fastcgi\_index index.php;

fastcgi\_param SCRIPT\_FILENAME $document\_root$fastcgi\_script\_name;

include fastcgi\_params;

}

}$ sudo pecl install redis

编辑配置文件 /usr/local/php/lib/php.ini 在其最后添加extension=redis.so

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 zhuanlan_guanli@qq.com 删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值