文档章节

Linux Mint 19 安装PHP7.3,并与nginx配置

红白机
 红白机
发布于 2019/12/27 15:04
字数 1145
阅读 86
收藏 0

一、更新Linux Mint 19系统

确保运行的是Linux Mint最新版本,如果有重要的程序正在运行并且不想升级它们,则可以只对包列表进行更新,运行以下命令:

sudo apt update
sudo apt upgrade

如果安装了较新版本的Kernel,建议在升级后重新启动:

sudo reboot

二、将PHP 7.3存储库添加到Linux Mint 19

由于Linux Mint 19基于Ubuntu 18.04,因此要添加的存储库是针对Ubuntu 18.04版本的。

添加ondrej/php PPA存储库,它包含PHP 7.3软件包和其他必需的PHP扩展:

sudo add-apt-repository ppa:ondrej/php

sudo apt update

注:随着Linux Mint 19版本的不断更新,以后可能会提供PHP 7.3版本,到时这一步骤可以省略掉。

三、在Linux Mint 19上安装PHP 7.3

添加存储库后,通过在终端上运行以下命令来安装PHP 7.3:

sudo apt-get install php7.3

可以使用php -命令检查版本:

$ php -v
PHP 7.3.1-1+ubuntu18.04.1+deb.sury.org+1 (cli) (built: Jan 13 2019 10:19:33) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.1, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.1-1+ubuntu18.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

 

四、安装PHP 7.3扩展

使用以下命令安装PHP 7.3扩展:

sudo apt-get install php7.3-<entension-name>

比如:

sudo apt install php7.3-cli php7.3-json php7.3-pdo php7.3-mysql php7.3-zip php7.3-gd  php7.3-mbstring php7.3-curl php7.3-xml php7.3-bcmath

可以使用apt policy命令确认已安装的PHP扩展版本:

$ apt policy php7.3-gd
php7.3-gd:
Installed: 7.3.1-1+ubuntu18.04.1+deb.sury.org+1
Candidate: 7.3.1-1+ubuntu18.04.1+deb.sury.org+1
Version table:
*** 7.3.1-1+ubuntu18.04.1+deb.sury.org+1 500
500 http://ppa.launchpad.net/ondrej/php/ubuntu bionic/main amd64 Packages
100 /var/lib/dpkg/status

五、在Linux Mint上安装PHP7.3-FPM

如果你正在使用Nginx Web Server,你需要安装php7.3-fpm来提供PHP页面,则运行以下命令:

sudo apt install php7.3-fpm

PHP-FPM配置文件位于/etc/php/7.3/fpm/文件夹下。

安装PHP后,建议重新启动Web服务器:

对于Apache:

sudo systemctl restart apache2

对于Nginx:

sudo systemctl restart nginx

至此,安装PHP7.3-FPM完成。

这里要注意:php的配置文件php.ini,路径会随PHP版本而不同,所以首先查找php.ini文件位置 命令如下

php -i | grep php.ini

命令的意思是:php -i 即显示php的详细信息,然后在其中匹配php.ini的信息,如上图找到了路径是 /etc/php/7.2/cli/php.ini。用于设置环境的PHP配置文件是/etc/php/7.3/cli/php.ini/etc/php/7.3/apache2/php.ini

现在先建个PHP文件来试一下看能不能正常跑。

vim /var/www/html/info.php

然后同样的按   i  进入编辑模式输入文件内容如下

<?php

phpinfo();

?>

保存修改,然后在浏览器访问

http://localhost/info.php

出现PHP Version 7.3.13-1+ubuntu18.04.1+deb.sury.org+1页面即成功。

最后,还有一个小地方。因为nginx与php对cgi.fix_pathinfo默认是关闭的。也就是说不打开的是不能使用pathinfo的。但是打开的话又会有严重的漏洞问题。所以要进行一点点修改以便在关闭cgi.fix_pathinfo的情况下也能使用pathinfo。

打开

sudo vi /etc/nginx/sites-available/default
          #.php$改为.php,也就是把PHP后面的$去掉。
location ~ \.php {
                include snippets/fastcgi-php.conf;
        #       增加对PathInfo的支持,防止cgi.fix_pathinfo漏洞。
                fastcgi_split_path_info ^(.+?\.php)(/.*)$;
sudo systemctl restart nginx

最最后,还是安装一下swoole吧。

WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update

首先在确定是否安装pecl和phpize如果未安装

sudo apt install php-pear
sudo apt install php7.3-dev //这里我使用的是php7.3,具体请根据自己版本号

安装好上面的依赖后,执行

sudo pecl install swoole

会自动安装swoole,请注意安装有没有报错。如果有错,一般是缺少某些库没安装。根据这里 https://my.oschina.net/osacar/blog/3076655 说的可以解决。

完装成功会显示以下信息

......
Build process completed successfully
Installing '/usr/lib/php/20180731/swoole.so'
Installing '/usr/include/php/20180731/ext/swoole/config.h'
install ok: channel://pecl.php.net/swoole-4.4.14
configuration option "php_ini" is not set to php.ini location
You should add "extension=swoole.so" to php.ini

会告诉我们编译好的库在哪里。

再根据上面提到的如何查找php.ini,找到php.ini配置文件位置
在php cli(/etc/php/7.3/cli/php.ini)的配置文件中加上

extension=swoole.so

重启php服务和web服务器服务

使用命令

php -m

查看swoole是否启动成功

© 著作权归作者所有

红白机

红白机

粉丝 25
博文 22
码字总数 8725
作品 0
技术主管
私信 提问
加载中

评论(0)

Linux Mint 19.2“Tina”发布-有什么新变化

Linux Mint 19.2“Tina”发布-有什么新变化 IMCN 2分钟前暂无评论 阅读 3 次 Linux Mint 19.2“Tina”已经发布。查看其中的新功能并了解如何升级到Linux Mint 19.2。 最近,Linux Mint团队宣...

IMCN
2019/08/07
0
0
Linux Mint 19 将基于 Ubuntu 18.04 LTS 操作系统

Linux Mint项目负责人Clement Lefebvre在该项目2017年的最新月刊中透露,开发团队将很快发布下一个主要的 Linux Mint 和 LMDE。 随着Linux Mint 18.3“Sylvia”的所有版本发布,Linux Mint团...

周其
2017/12/31
4.3K
12
MintBox Mini 2计算机预装Linux Mint 19即将·发货

MintBox Mini 2计算机预装Linux Mint 19即将·发货 Ronny 23分钟前暂无评论 阅读 14 次 导读 Linux Mint项目负责人Clement Lefebvre今天宣布,MintBox Mini 2和MintBox Mini 2 Pro计算机现已...

Ronny
2018/07/12
0
0
Linux Mint 19 “Tara” 发布

Linux Mint 19 “Tara” 发布 IMCN 12分钟前暂无评论 阅读 14 次 Linux Mint 团队自豪地宣布发布Linux Mint 19“Tara”,同时发布的版本有Cinnamon、Xfce、MATE,不同桌面环境。 Cinnamon桌面...

IMCN
2018/06/30
0
0
宝塔linux奇怪的502 Bad Gateway错误及解决

用宝塔建了一个测试站试试thinkphp6,结果一直显示502 Bad Gateway,开始以为是thinkphp6的配置问题,测试直接放php文件上去,也是这样的错误,看日志,发现有connect() to unix:/tmp/php-cg...

我退而结网
2019/09/09
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

Minecraft Fabric Client 教程 #5 添加Event、Sprint和ToggleCommand

首发于Enaium的个人博客 添加Event 下载 放在cn.enaium.excel里 然后在Excel.java里面添加EventManager public enum Excel { [...] public EventManager eventManager; pu......

Enaium
9分钟前
25
0
记 S3Service 代码中的一个低级错误

osgl-storage 是 osgl 工具箱 中用于简化存储的. 其特点是接口简单, 支持多种存储引擎插件, 包括本地文件系统, AWS S3, Azure Blob, 七牛 Kodo 服务. 最近老码农在一次调试中偶然发现了 osgl...

开源老码农
12分钟前
203
0
如何实现Samba文件共享服务

目标:实现Samba文件共享服务 试验环境:两台主机服务端:192.168.56.11客户端:192.168.56.12 配置用户认证共享 服务端操作: 1.关闭防火墙,关闭selunix [root@hejie ~]# setenforce 0[...

linuxprobe2020
13分钟前
18
0
SQL Server Profiler - 如何过滤跟踪以仅显示来自一个数据库的事件?

如何将SQL Server Profiler跟踪限制为特定数据库? 我看不到如何过滤跟踪,看不到我连接的实例上的所有数据库的事件。 #1楼 在Trace properties> Events Selection选项卡下>选择show all co...

技术盛宴
14分钟前
25
0
Kafka配置及常用命令笔记

一、kafka配置 1. 服务端 server.properties #broker 的全局唯一编号,不能重复broker.id=0#删除 topic 功能使能delete.topic.enable=true#处理网络请求的线程数量num.network.thr...

liddblog
18分钟前
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部