赞
踩
一、更新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-
比如:
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 进入编辑模式输入文件内容如下
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是否启动成功
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。