本文操作环境:ubuntu 16.04系统,PHP7.1版,Dell G3电脑。
linux php调试环境怎么搭建?
Linux的PHP开发环境快速搭建
搭建的环境是LNMP:
1、安装MySQL
这个非常简单我用的是Ubuntu那么就用apt源,下载deb文件然后按照全新安装文档按顺序:a.加入apt库 b.更新apt库 c.安装 d.运行MySQL
下载:
https://dev.mysql.com/downloads/repo/apt/
文档:
https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo-fresh-install
2、PHP
这里开启php-fpm,监听9000端口。
相关文档:
http://php.net/manual/zh/install.unix.nginx.php
a. 下载
https://www.php.net/downloads.phpwget https://www.php.net/distributions/php-7.1.33.tar.gz
任意选择一个镜像下载到本地或者获取到下载地址然后wget下载到本地
b.解压、编译、安装
tar zxf php-x.x.x
cd ../php-x.x.x./configure --prefix=/usr/local/php --enable-fpm --enable-pdo --with-pdo-mysql --enable-mysqlnd --with-mysqli --with-opensslmake
sudo make install
有精简控的一定加上--prefix,这样安装目录才会在那里
其中按顺序执行下来会遇到的问题有pcre、zlib、libxml2不存在的问题,那么直接百度进入官网获取最新版本的tar.gz格式安装包然后解压编译安装。
swoole 的入门手册
https://linkeddestiny.gitbooks.io/easy-swoole/content/book/chapter01/install.html
./configure --prefix=/usr/local/php \
--with-config-file-path=/etc/php \
--enable-fpm \
--enable-pcntl \
--enable-mysqlnd \
--enable-opcache \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-shmop \
--enable-zip \
--enable-soap \
--enable-xml \
--enable-mbstring \
--disable-rpath \
--disable-debug \
--disable-fileinfo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-pcre-regex \
--with-iconv \
--with-zlib \
--with-mcrypt \
--with-gd \
--with-openssl \
--with-mhash \
--with-xmlrpc \
--with-curl \
--with-imap-ssl
c、安装完毕以后配置文件(官方文档搬砖过来的),每一行都不能忘记哦
sudo cp php.ini-development /usr/local/php/lib/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp sapi/fpm/php-fpm /usr/local/php/bin
小插曲:防止文件不存在,则阻止 Nginx 将请求发送到后端的 PHP-FPM 模块, 以避免遭受恶意脚本注入的攻击
vim /usr/local/php/lib/php.ini
修改参数为:cgi.fix_pathinfo=0
由于本人对vim也不熟悉所以建议sudo atom 或者sudo sublime之类以图形界面软件打开.
d、下面和PHP手册不一样的是:(以下功能是让fpm读取配置PHP-FPM用户组和用户并开启监听9000端口)
实际上手册所说/usr/local/etc/php-fpm.conf根本没有用户组配置选项,自己手动加上又会报告文件找不到,甚是郁闷,应该这样树立
创建web用户:
groupadd www-data
useradd -g www-data www-data
打开php-fpm.conf
vim /usr/local/php/etc/php-fpm.conf
找到最下面那一行:
include=NONEl/etc/php-fpm.d1 * * * * sh /home/test.sh
linux添加环境变量:
由于linux环境变量值中/usr/local/php并不属于,/usr/local/bin里面的倒是可以全局访问的,现在将php加入全局变量。
sudo vim /etc/profile//加入mysql、PHP的执行文件所在目录PATH=$PATH:/usr/local/php/bin:/usr/local/mysql/bin
export PATH//两行代码加到末尾然后执行以下指令使其生效source /etc/profile
或者添加快捷方式形式:
ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config
nginx.conf | laravel
#user www-data;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#gzip on;
#
server {
listen 8080;
server_name localhost;
index index.html index.htm index.php;
location / {
root /home/www/laravel/public;
autoindex on;
try_files $uri $uri/ /index.php?$query_string;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /home/www/laravel/public;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
server {
listen 80;
server_name localhost;
index index.html index.htm index.php;
location / {
root /home/www;
autoindex on;
try_files $uri $uri/ /index.php?$query_string;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /home/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
composer安装
https://pkg.phpcomposer.com/#how-to-install-composer