- 解压进入安装包,然后更新源
tar -zxvf php-7.3.16.tar.bz2
cd php-7.3.16/
sudo apt-get update
- 安装依赖
sudo apt install g++ autoconf openssl libssl-dev libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev libxml2 libxml2-dev libxslt1-dev libzip-dev curl libcurl4-gnutls-dev
image.png
- 配置扩展
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-libdir=/lib/x86_64-linux-gnu --disable-rpath --enable-fpm --with-openssl --enable-bcmath --with-zlib --with-curl --enable-exif --enable-ftp --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-freetype-dir=/usr --with-gettext --with-mhash --enable-intl --enable-mbstring --enable-mbregex --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --with-xmlrpc --with-libxml-dir=/usr --with-iconv-dir --with-xsl --enable-zip --with-libzip --enable-mysqlnd
image.png
- 开始安装
①make -j4
,GCC编译的时候默认使用一核,此处j4是使用4核的意思,如果之前安装系统是默认的1核,就直接使用make就行;
②sudo make install
image.png
image.png
配置环境
- 编辑bashrc文件,
sudo vim ~/.bashrc
- 在文件末尾新增,
export PATH=$PATH:/usr/local/php/bin
image.png - 执行命令使得改动立即生效,
source ~/.bashrc
通常情况下,一般都是配置/etc/profice文件,不过我在配置过程中,当新打开一个终端的时候,配置会失效,所以我这边直接修改~/.bashrc文件了,注意此处的文件位置,一般在linux中,bashrc文件都是在/etc/bashrc中,而在deepin系统,此文件路径是在这 ~/.bashrc;
配置php-fpm
-
sudo cp php.ini-production /usr/local/php/etc/php.ini
-
sudo cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
-
sudo cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
-
sudo cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
-
sudo chmod +x /etc/init.d/php-fpm
-
sudo cp /etc/init.d/php-fpm /usr/bin/php-fpm
-
编辑
sudo vim /usr/local/php/etc/php-fpm.d/www.conf
-
其中修改
image.pnguser=www、group=www、listen=/var/run/php/php7.3-fpm.sock
3处位置;
-
新增对应的用户及组,
image.pngsudo useradd www、sudo groupadd www
-
sudo mkdir /var/run/php
-
sudo chmod -R 777 /var/run/php/
启动php-fpm
sudo php-fpm start
,或者 sudo /etc/init.d/php-fpm start
后续可以通过sudo php-fpm restart
重启,或通过命令sudo php-fpm stop
停止.
安装nginx和MySQL
首先安装c++编译器
sudo apt-get install build-essential
sudo apt-get install g++
image.png
安装nginx
sudo apt install nginx
安装MySQL
sudo apt-get install mysql-server mysql-client
- 现在mysql的密码是不知道的。所以需要更改密码:
以管理员身份打开f/etc/mysql/mariadb.conf.d/50-server.conf
文件,新增skip-grant-tables
用来表示不输入密码直接登录按回车即可。
image.png - 重启mysql服务
sudo service mysql restart
,使用mysql -u root -p
进入,输入密码时候回车。
然后设置密码
use mysql;
select user, plugin from user;//查询当前用户表的plugin自段是否是 mysql_native_password,如果不是。我们也需要修改
update user set authentication_string=password("你的密码") where user="root";//字段正确使用这行
update user set authentication_string=password("你的密码"),plugin='mysql_native_password' where user='root';//字段不正确使用这行
flush privileges;
quit
image.png
然后把刚改的文件删除或者注释。接着重启mysql服务。就可以使用正确密码进入了。
- nginx配置问题
首先在/etc/nginx/conf.d
下面新增一个default.conf文件,内容如下:
server {
listen 80;
server_name test.com;
root /www/test;
index index.html index.htm index.php;
# Access Restrictions
allow 127.0.0.1;
deny all;
location / {
try_files $uri $uri/ =404;
autoindex on;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
}
charset utf-8;
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
location ~ /\.ht {
deny all;
}
}
然后在系统根目录新建一个放项目的文件夹www
,然后给读写权限sudo mkdir /www; sudo chmod -R 777 /www
-
然后在hosts配置虚拟域名
image.png
浏览器访问 - 设置www目录可读可写权限
chmod -R 777 /www
- 设置php-fpm的sock文件权限
chmod -R 777 /var/run/php
-
新建test项目目录添加php文件
image.png
本人有关于PHP、服务器、Java、swoole、数据库、前端等视频课程。
需要的同学可以关注公众号:小贝壳的资源库。免费获取
网友评论