美文网首页Web学习
Php最新版安装

Php最新版安装

作者: 李国钦 | 来源:发表于2018-05-26 16:47 被阅读0次

    前言

    用TP开发完新项目后,传到服务器上报错,网上查了一下,说未加载PDO,就加载吧。
    找到配置文件php.ini,搜到;extension=php_pdo_mysql.dll,去掉前面的注释,重启;服务器,看似一切正常,却大错特错。
    Linux下应该是.so,而不是.dll,php源码中的php.ini-development只是用.dll作为样例,在Linux下不能直接去除注释就行了。
    下文介绍Php最新版安装方法

    安装工具和相应扩展

    yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel  re2c
    

    安装扩展

    安装FreeType(使用thinkphp5验证码时可能会出现缺少freetype的问题)

    yum install freetype
    find / -name freetype #复制路径 下方php编译会用到
    

    安装curl

    cd /usr/local/src/
    
    wget https://curl.haxx.se/download/curl-7.58.0.tar.gz
    tar zxvf curl-7.58.0.tar.gz
    cd curl-7.58.0
    
    ./configure --prefix=/usr/local/curl
    
    make && make install
    

    获取并解压PHP安装包

    cd /usr/local/src/
    
    wget http://hk1.php.net/get/php-7.1.14.tar.gz/from/this/mirror
    tar zxvf mirror
    
    cd php-7.1.14
    
    #http://cn2.php.net是中国网站,mirror也是压缩包,更换版本的话直接替换url
    

    开始编译PHP

    系统配置可以按照自己的项目决定,这里只是几个基础配置项

    ./configure的作用是检测系统配置,生成makefile文件,以便你可以用make和make install来编译和安装程序

    cd php-7.1.14
    
    ./configure \
    --with-config-file-path=/usr/local/php/etc \
    --prefix=/usr/local/php \
    --enable-fpm \
    --with-apxs2=/usr/local/apache/bin/apxs \
    --enable-opcache \
    --with-mysqli \
    --with-pdo-mysql \
    --enable-bcmath \
    --enable-mbstring \
    --enable-sockets \
    --with-gd \
    --with-openssl \
    --with-curl=/usr/local/curl \
    --with-gettext \
    --with-freetype-dir=/usr/include/freetype2     #这个路径是上面copy下来的,用在此处
    
    #最后
    make && make install
    

    php配置文件的路径已经指定到usr/local/etc

    #只需要复制源码中的 php.ini-development 或者 php.ini-production 到usr/local/etc目录下即可,vi打开需要的扩展包
    
    cp -R php.ini-development /usr/local/php/etc/php.ini
    

    完成安装,下方是可能会用到功能介绍


    phpize编译安装

    修改默认的php.ini ,后续添加扩展时需要用到

    #修改php配置文件 
    vi /usr/local/php/etc/php.ini
    
    #检查扩展库目录是否设置(如果没设置则增加下方代码)
    extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20160303/"
    
    #开启扩展模块时添加,例如:
    extension=curl.so
    extension=openssl.so
    
    #重启Apache即可。
    /usr/local/apache/bin/apachectl restart
    

    安装curl

    cd /usr/local/src/php-7.1.14/ext/curl/
    /usr/local/php/bin/phpize
    ./configure -with-php-config=/usr/local/php/bin/php-config --with-curl=/usr/local/curl
    make && make install
    
    vi /usr/local/php/etc/php.ini
    
    #开启扩展模块时添加,例如:
    extension=curl.so
    

    安装SSL

    cd /usr/local/src/php-7.1.14/ext/openssl/
    
    cp config0.m4 ./config.m4
    
    /usr/local/php/bin/phpize
    ./configure -with-php-config=/usr/local/php/bin/php-config --with-openssl
    
    make && make install
    
    vi /usr/local/php/etc/php.ini
    
    #开启扩展模块时添加,例如:
    extension=openssl.so
    

    安装大部分的扩展与上面的大同小异,有区别的自行百度google

    开启错误模式调试代码(未必会用到)

    vi php.ini
    
    #显示错误信息  
    display_errors = On  
    #显示php开始错误信息  
    display_startup_errors = On  
    #日志记录错误信息  
    log_errors = On  
    
    ini_set('display_errors',1);            //错误信息  
    ini_set('display_startup_errors',1);    //php启动错误信息  
    error_reporting(-1);                    //打印出所有的 错误信息  
    ini_set('error_log', dirname(__FILE__) . '/error_log.txt'); //将出错信息输出到一个文本文件  
    

    相关文章

      网友评论

        本文标题:Php最新版安装

        本文链接:https://www.haomeiwen.com/subject/pjlmjftx.html