• 探索PHP+Nginx(二) 安装PHP


          首先,我们简单了解一下什么是PHP,PHP(Hypertext Preprocessor 超文本预处理器) 和Java语言一样,PHP也是属于高级语言,并不能直接在操作系统上运行。Java运行需要虚拟机,PHP运行也是需要Zend Engine引擎。与Java不同的是,Java属于编译与解析性语言,而PHP只是是解析性语言。所以,我们可以从语言性质上简单看出,Java运行之前先通过编译形成.class文件,所以运行效率会更快,PHP编写程序后检查语法通过,就可以直接运行,从而开发效率会更快。

          去年,刚刚开始从Java转学PHP的时候,PHP的弱类型特效深深吸引了我,在Java中我们经常会遇到各种类型转换,或者考虑用什么样的类型去存储数据,这种严格的编程非常局限了开发的效率,当然这个缺点也是它的优势之处,更加严格的类型定义,让Java获得更快的运行速度。然后,我记得学到PHP+Mysql时候,我都非常惊讶!为什么PHP对数据库的操作这么简单,是我写错了吗?因为当初学Java的时候,Mysql的各种jar包搞到吐血。真的PHP的开发做得非常好,所以很多学PHP的程序员都会开一个玩笑:PHP是世界上最好的语言。其实说的并不是其他语言不好,而是作为程序员都喜欢那种自动化,更少的人工的方法去开发和维护程序。

          以上都是个人的理解,不一定是正确的,如果说的不对,希望大家帮助指正。

    回到正题:安装PHP,我们讲的安装不是在windows重复点击下一步的过程,这样就太没劲了。我今天想说的是,如何在Linux编译安装PHP,并理解PHP扩展。

    在上次笔记中,我已经准备了Linux系统,并且配置好网络。
     

     安装PHP,并开启FPM

     

    # 更新系统

    yum -y update

    升级所有包,改变软件设置和系统设置,系统版本内核都升级

    reboot
     

    # 安装基础软件

    yum -y install vim wget w3m gcc gcc-c++ make automake gdb cmake kernel-devel kernel-headers lsof zip unzip xz git tree nmap mailx tcpdump sysstat screen dtach ntp telnet man
     

    # 安装依赖库

    yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel openldap-clients openldap-servers gd-devel libjpeg-devel libpng-devel freetype-devel libxml2-devel curl-devel freetype-devel bison gcc gcc-c++ autoconf automake zlib* libxml* ncurses-devel libtool-ltdl-devel* pcre-devel zlib-devel autoconf automake zlib* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* perl gettext pcre-devel zlib-devel libXpm-devel libXpm icu icu4j libicu* wget lrzsz mysql-devel unzip libaio rsync openssh-clients ntp
     
    # 安装 PHP
    # 安装PHP基础环境
    # PHP 配置文件:/usr/local/php/etc/php.ini
    # PHP-FPM 配置文件:/usr/local/php/etc/php-fpm.conf
    # 服务控制:service php-fpm (start|stop|restart|reload)
     

    # 安装PHP依赖库

    cd /usr/local/src
    tar zxvf libmcrypt-2.5.7.tar.gz
    cd libmcrypt-2.5.7/
    ./configure
    make
    make install
     
    cd libltdl/
    ./configure --enable-ltdl-install
    make
    make install
     
    yum install mysql-devel
    ln -s /usr/lib64/libXpm.so* /usr/lib/
    mkdir /usr/lib/mysql
    ln -s /usr/lib64/mysql/libmysqlclient* /usr/lib/mysql
     

    # 安装PHP

    #tar zxf php-5.4.26.tar.gz
    #cd php-5.4.26
     
    # 下载src
    mv mirror php-5.6.21.tar.gz
     
    # 解压
    tar zxf php-5.6.21.tar.gz
    cd php-5.6.21
     
    # 配置参数
    ./configure 
    --prefix=/usr/local/php 
    --with-config-file-path=/usr/local/php/etc 
    --with-mysql=mysqlnd 
    --with-mysqli=mysqlnd 
    --with-pdo-mysql=mysqlnd 
    --with-libxml-dir 
    --with-pcre-dir 
    --with-mcrypt 
    --with-openssl 
    --with-gd 
    --with-jpeg-dir 
    --with-png-dir 
    --with-xpm-dir 
    --with-gettext 
    --with-freetype-dir 
    --with-bz2 
    --with-iconv-dir 
    --with-zlib 
    --with-zlib-dir 
    --with-curl 
    --with-xmlrpc 
    --enable-fpm 
    --with-fpm-user=www 
    --with-fpm-group=www 
    --with-icu-dir=/usr 
    --enable-pcntl 
    --enable-intl 
    --enable-sockets 
    --enable-gd-native-ttf 
    --enable-gd-jis-conv 
    --enable-ftp 
    --enable-zip 
    --enable-calendar 
    --enable-mbstring 
    --enable-exif 
    --enable-soap 
    --enable-wddx 
    --enable-bcmath 
    --enable-fd-setsize=4096 
    --disable-short-tags 
    --disable-ipv6
    # 编译
    make
     
    # 安装
    make install
     
    # 创建配置文件
    #cp /usr/local/src/php-5.4.26/php.ini-production /usr/local/php/etc/php.ini
    cp /usr/local/src/php-5.6.21/php.ini-production /usr/local/php/etc/php.ini
    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
     
    # 添加新用户/用户组
    groupadd www
    useradd -r -g www www -s /sbin/nologin
     
    # 创建 php 运行所需要目录并设置权限
    mkdir /var/run/php
    mkdir /var/log/php
    chown -R www:www /var/run/php/
    chown -R www:www /var/log/php/
     
    # 设置 php-fpm 配置,修改以下参数项。 
    # vim /usr/local/php/etc/php-fpm.conf
    pid = /var/run/php/php-fpm.pid
    error_log = /var/log/php/error.log
    user = www
    group = www
    listen = 127.0.0.1:9000
    pm = static
     
    # php-fpm 加入系统服务并开机启动
    #cp /usr/local/src/php-5.4.26/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    cp /usr/local/src/php-5.6.21/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    # vim /etc/init.d/php-fpm
    #php_fpm_PID=${prefix}/var/run/php-fpm.pid
    php_fpm_PID=/var/run/php/php-fpm.pid
     
    # 编辑 PHP 相关路径(/etc/init.d/php-fpm)
    chmod u+x /etc/init.d/php-fpm
    chkconfig --add php-fpm
    service php-fpm start
    chkconfig php-fpm on
     
    ps -d 
    表示我们正常安装成功了,已经启动了php-fpm.
     
     
    PHP安装完成!
     
  • 相关阅读:
    【题解】[USACO07OPEN]Dining G
    【学习笔记】拉格朗日插值
    【题解】简单的数学题
    docker-compose编排参数详解
    Harbor搭建企业级docker仓库
    centos7制作U盘启动盘
    c语言输入矩阵的对角线之和
    搭建rsync+inotify实现实时备份
    CentOS7添加自定义脚本服务
    Linux搭建NFS服务
  • 原文地址:https://www.cnblogs.com/helingfeng/p/5819831.html
Copyright © 2020-2023  润新知