Ubuntu14如何安装php7扩展(php7,ubuntu14,编程语言)

时间:2024-05-09 12:17:05 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

    Ubuntu14%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85php7%E6%89%A9%E5%B1%95

Ubuntu14安装php7的方法:1、安装mysql;2、下载php源码“php-7.2.27.tar.gz”并解压到root目录下;3、安装编译需要的依赖;4、创建安装目录;5、配置开启php-fpm支持即可。

本文操作环境:ubuntu14.04系统,PHP7.2版,Dell G3电脑。

解决问题:

无法安装php7.0

以上版本 php上传1M以上文件异常

php未指定Loaded Configuration File

php使用phpmailer ssl发送邮件异常

服务器:Linux version 4.4.0-53-generic (buildd@lgw01-18) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #74~14.04.1-Ubuntu SMP Fri Dec 2 03:43:31 UTC 2016

通过查询,几乎所有的教程都如下步骤
首先添加php官方源

然后更新源

然后安装

但实际操作下来,无法找到7.0以上的源
错误如下

无奈只能自己下载安装包,手动安装,中间各种踩坑,再此记录一下,方便需要的小伙伴直接拿走,节省时间

编译环境:php-7.2.27

静态资源服务器:nginx/1.4.6 (Ubuntu)

数据库:mysql

一、mysql安装

1、安装mysql ,安装目录/usr/bin/mysql 安装步骤略

二、PHP安装
1、下载php源码php-7.2.27.tar.gz,并解压到/root目录下

2、安装编译需要的依赖

①安装libxml2-dev

②安装gcc

③安装依赖库

④安装apache2-dev,否则无法指定–with-apxs2=/usr/bin/apxs来生成libphp7.so

3、创建安装目录

4、切换到解压编译目录

配置开启php-fpm支持,开启多线程支持–enable-maintainer-zts,否则无法使用Apache2的Event MPM功能。

①执行:

②执行:

较长时间等待~~~

③执行以下 :查看版本号

5、配置php-fpm

进入安装目录的etc下,复制php-fpm.conf.default到php-fpm.conf
进入安装目录的etc/php-fpm.d下,复制www.conf.default到www.conf 此文件中可修改fpm的端口号

修改 :
user = www-data
group = www-data
Eg:如果www-data用户不存在,那么先添加www-data用户

启动php-fpm 启动方式一

6、将php-fpm添加至init.d中

编辑 php-fpm.conf 文件,将 ;pid = run/php-fpm.pid 前面的分号去掉 关闭fpm服务,执行:

进入目录(该目录为php源码包解压后的目录),找到 init.d.php-fpm 文件

将该文件复制到 /etc/init.d 目录下并改名为 php-fpm

添加权限:

启动php-fpm 启动方式二:

启动php-fpm 启动方式三:

fpm默认使用9000端口号,
lsof -i:9000查看详情

三、服务器配置
1、apache2配置方案

安装配置忽略

2、 nginx配置方案

安装nginx sudo apt-get install nginx nginx指向fpm进程管理器

Eg:

将项目放入/home/cms/phpProject/ 下
将runtime设置权限

启动nginx

访问地址 ip/域名

四、其它注意点

1、runtime下模板文件权限导致系统无法访问问题

日志在/home/cms/prod/runtime/目录下
注意数据库连接的端口号
注意cache文件的读写状态
chmod -R 777 /home/cms/phpProject/runtime/

2、lunix服务器php7.0+环境无法指向php.ini文件问题,无法调整上传文件大小问题

通过phpinfo()查看PHP基本信息,发现未指定Loaded Configuration File
通过将php-fpm 指定到日志中查看strace /usr/local/php/sbin/php-fpm -i 2>1.log
将cp /usr/local/php/lib/php.ini /usr/local/php/etc/php.ini 拷贝到指定目录下

上传仍最大限制为1M,暂时未解决提升上传最大限制问题 解决方法待补充

3、2020-04-27问题修复上传大小限制问题

通过问题排查,发现是nginx文件上传配置太小导致:
通过查看var/logs/nginx中的错误文件,会有错误如下

recv() failed (104: Connection reset by peer) while waiting for
request

修正:nginx.conf中调整参数

重启nginx后,图片上传,发现仍然报错,打开php日志,发现报错
[ error ] [2]mkdir(): Permission denied[/home/biotool/cms/prod/thinkphp/library/think/File.php:160]
记住,凡是遇到此类问题都是无权限导致。
执行:

超过1M大图片上传成功

4、服务器邮件发送失败,openssl未指定问题

4.1、我的源码在 /root/php-7.2.27 ,安装位置在 /usr/local/php, php.ini 在/ usr/local/php/lib 下。如果没有php.ini需要把源码中的配置文件 php.ini-development 或php.ini-production改名成php.ini并放在lib下。
4.2、进入openssl的扩展目录 :

3.3、运行phpize

执行后,发现错误 无法找到config.m4 ,config0.m4就是config.m4。直接重命名

执行后若报

Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.

3.4、执行安装

3.5、过程中可能出现libssl找不到,执行下面的命令再重新执行3.4对应的执行安装

3.6、执行安装后,会提示在某个目录生成.so文件,我生成的位置在

/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/

3.7、打开etc/ php.ini

添加下面两句话

extension_dir ="/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/"
extension=openssl.so

3.8、重启php即可。

4、切换域名方式
4.1登录中心节点,将xxx.net域名对应的代理转发地址修改为: http://ip/
4.2登录应用服务器,server_name中添加ip
注:此处使用内网地址,可提升跨服务之间的访问速度(带宽20M)
配置成功后,访问xxx.net,网站切换成功,且访问速度比IP直接访问快

本文:Ubuntu14如何安装php7扩展的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:php如何实现访问量下一篇:

48 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18