Ubuntu安装php
记录下主要的流程和遇到的坑。

首先官网下载php,http://php.net/downloads.php,我用的是5.6.25的版本:

wget http://cn2.php.net/distributions/php-5.6.25.tar.gz

下载后,解压到服务器随意目录

tar xzvf php-5.6.25.tar.gz

// 添加www用户

groupadd www

useradd -g www www

完了后,configure编译,如下:

# ./configure \
--prefix=/usr/local/php56 \
--with-config-file-path=/usr/local/php56/etc \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared \
--enable-opcache \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gettext \
--enable-mbstring \
--with-iconv \
--with-mcrypt \
--with-mhash \
--with-openssl \
--enable-bcmath \
--enable-soap \
--with-libxml-dir \
--enable-pcntl \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-sockets \
--with-curl \
--with-zlib \
--enable-zip \
--with-bz2 \
--with-readline

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gettext --enable-mbstring --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-zlib --enable-zip --with-bz2 --with-readline --with-gd --enable-gd-native-ttf --enable-gd-jis-conv

这个时候有可能会出现下列错误:
mcrypt.h not found. Please reinstall libmcrypt
原因:centos源不能安装libmcrypt-devel,由于版权的原因没有自带mcrypt的包下载libmcrypt-2.5.8.tar.gz,然后安装,如下:

tar -zxvf libmcrypt-2.5.8.tar.gz
cd /usr/local/src/libmcrypt-2.5.8
./configure --prefix=/usr/local

此时可能会出现如下错误:

configure: error: C++ compiler cannot create executables

靠谱的解决方法是:

yum install gcc gcc-c++ gcc-g77
然后重新执行,问题应该就解决了。

make
make install

然后重新configure,此时可能会遇到下列错误:
error: Don't know how to define struct flock on this system, set --enable-op
靠谱的解决方法是:

sudo ln -s /usr/local/mysql/lib/libmysqlclient.so /usr/lib/ 
sudo ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

export LD_LIBRARY_PATH=/lib/:/usr/lib/:/usr/local/lib:/usr/local/mysql/lib

再执行,应该不会报错了。
make 
make install

注:在低配置的服务器比如小于1gb时,有可能make时出现如下错误:

make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1

解决办法

这是由于内存小于1G所导致.

在./configure加上选项:

--disable-fileinfo

Disable fileinfo support 禁用 fileinfo

或者,重新make可能会过去。

[root@dev3 bin]# ./php -version
PHP 5.6.28 (cli) (built: Nov 18 2016 13:02:58) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

配置php

[root@dev3 php-5.6.28]#

cp php.ini-development /usr/local/php56/etc/php.ini

配置php-fpm 服务

# cp /usr/local/php56/etc/php-fpm.conf.default /usr/local/php56/etc/php-fpm.conf
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm56
# chmod +x /etc/init.d/php-fpm56

启动 php-fpm

# service php-fpm56 start
Starting php-fpm done

到此为止,php本身的安装和配置就完成了,如何验证呢。。。。

很重要的一点是:php本身并不是一个web服务器,只是一个web服务器后面的cgi实现,就像java本身并不提供http服务一样,前台有个tomcat。
所以php要依赖于nginx或者apache作为前置,因为我们一直用nginx,所以以nginx为例。
首先,我不得不说nginx自带的nginx.conf中配置php的示例代码是坑。。。
读者直接参考php官方给的即可,http://php.net/manual/zh/install.unix.nginx.php。亲测,没有问题的。

转载于:https://www.cnblogs.com/wwlww/p/8413603.html

Ubuntu安装php相关推荐

  1. Ubuntu安装MongoDB

    https://jingyan.baidu.com/article/e5c39bf5f5ddd539d76033a9.html Ubuntu安装MongoDB4.0: https://www.jian ...

  2. ubuntu安装OpenCV详细教程(建议收藏)

    记录一篇"如何安装ubuntu下C++接口的opencv"的文章.由于转载格式有问题,直接贴个链接:ubuntu安装opencv的正确方法 注意:本人根据此博客安装遇到的问题:2. ...

  3. Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can't open PID file /var/run/redis/redis-server.

    此文首发于我的个人博客:Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can't open PID file /var/run/redis/r ...

  4. debian,ubuntu 安装mongodb 允许外网访问,修改端口,设置用户和密码

    使用apt安装mongodb: apt update && apt install mongodb 查看运行状态: systemctl status mongodb.service 结 ...

  5. ubuntu安装KVM

    ubuntu安装KVM 现在官网下载ubuntu镜像,桌面版或者服务端都可,这里以桌面端为例. 安装之前确保磁盘有足够大的空间(这很重要) 安装KVM sudo apt install qemu-kv ...

  6. 解决Ubuntu安装依赖问题

    解决Ubuntu安装依赖问题 解决Ubuntu安装依赖问题 最主要问题,修改的国内镜像源可能不是对应的ubuntu版本,大部人直接找了个镜像源就复制到source.list里面了,其实需要对应版本的, ...

  7. Ubuntu安装Ceres库-安装依赖时报错:E:无法定位软件包 libcxsparse3.1.2_朱国鑫的博客-CSDN博客

    Ubuntu安装Ceres库-安装依赖时报错:E:无法定位软件包 libcxsparse3.1.2_朱国鑫的博客-CSDN博客

  8. ubuntu 安装Pangolin 过程_余辉亮的学习笔记的博客-CSDN博客_pangolin安装

    ubuntu 安装Pangolin 过程_余辉亮的学习笔记的博客-CSDN博客_pangolin安装

  9. Ubuntu安装、使用postgresql数据库

    Ubuntu安装.使用postgresql数据库 $ sudo apt-get install postgresql  (端口为5432) $ sudo apt-get install postgre ...

  10. Ubuntu 安装NVidia驱动

    2019独角兽企业重金招聘Python工程师标准>>> 从NVidia的官网上下载的驱动(http://www.nvidia.com/object/unix.html),可在Ubun ...

最新文章

  1. 2021全国高校计算机能力挑战赛(初赛)Java试题二
  2. 复旦邱锡鹏团队:Transformer最新综述!
  3. NeurIPS 2020论文评审结果出炉,提前拒稿、作者审稿惹争议,网友:改投别家吧...
  4. FFmpeg学习5:多线程播放视音频
  5. Py之openpyxl:openpyxl库的简介、安装、使用方法之详细攻略
  6. mysql主从数据库同步问题_聊聊MySQL主从数据库同步的那些事儿
  7. Overview of the New C++:C++0x
  8. 当个性化推荐遇上知识图谱.pdf(附下载链接)
  9. 使用cURL操作Openstack对象存储的ReST API
  10. 一分钟电脑自动关机的代码
  11. 多仓库带扫描进销存系统(仿电商ERP管理系统源码+数据库)
  12. 机器人布里茨哪个皮肤好看_【图片】【全皮肤鉴赏系列】蒸汽机器人 布里茨【lol半价吧】_百度贴吧...
  13. win7显示隐藏文件夹的方法
  14. matlab复化梯形公式误差,数值分析复化梯形公式,复化Simpson公式MATLAB程序
  15. 华为开发者大会直播间鸿蒙,聊一聊华为开发者大会上的鸿蒙OS
  16. android下载安装包你火,包你火直播最新免费版 v2.5.1
  17. 16.5 项目:向会员发送会费提醒电子邮件
  18. XTU 程序设计实践模拟考试题1
  19. LLaMA模型文件 (搬运工)
  20. Linux系统---Discuz论坛网站创建部署

热门文章

  1. afnetworking 和 asihttprequest 强制修改http连接的host地址
  2. 虚拟化--001 view win7优化
  3. _IO, _IOR, _IOW, _IOWR 宏的用法与解析
  4. 使用queryperf对DNS服务器作压力测试
  5. 【原创】昆虫棋离线复盘工具v1.5 更新(BoardSpace.net hive games reviewer)
  6. java 测试 jar_java – 从可执行jar运行spring测试
  7. java 打包乱码_Java程序打包之后中文乱码的原因及解决方法
  8. teambition 还是jira_我用过的那些测试过程管理工具TAPD、Teambition、CODING
  9. c++中的explicit关键字及隐式类型转换
  10. minio获取上传文件_Springboot集成Minio实现对象存储服务