• CentOS PHP-5.4.8 编译安装之初体验


    1. 下载5.4.8 版本

    [root@Test data] wget http://museum.php.net/php5/php-5.4.8.tar.gz

    2. 解压

    [root@Test php-5.4.8]# tar xzf php-5.4.8.tar.gz

    3. 编译安装

    [root@Test php-5.4.8]# cd php-5.4.8

    [root@Test php-5.4.8]# ./configure --prefix=/data/application/php && make && make install

    此方法默认安装后的配置文件路径为:

    [root@Test php-5.4.8]# cd /data/application/php/

    [root@Testphp php]# ll

    total 20

    drwxr-xr-x 2 root root 4096 Mar  8 17:27 bin

    drwxr-xr-x 2 root root 4096 Mar  8 17:46 etc

    drwxr-xr-x 3 root root 4096 Mar  8 17:27 include

    drwxr-xr-x 3 root root 4096 Mar  8 17:59 lib

    drwxr-xr-x 3 root root 4096 Mar  8 17:27 php

    查看安装后加载的配置文件信息

    [root@Testphp php]# php --ini

    Configuration File (php.ini) Path: /data/application/php/lib

    Loaded Configuration File:         (none)

    Scan for additional .ini files in: (none)

    Additional .ini files parsed:      (none)

    可以看到默认php.ini 是读取/data/application/php/lib目录中的文件

    此时可以将/data/php-5.4.8/php.ini-production 文件copy 到这个目录中,即可加载此配置文件

    [root@Testphp php]# cp -a /data/php-5.4.8/php.ini-production /data/application/php/lib/php.ini

    [root@Testphp php]# php --ini

    Configuration File (php.ini) Path: /data/application/php/lib

    Loaded Configuration File:         /data/application/php/lib/php.ini

    Scan for additional .ini files in: (none)

    Additional .ini files parsed:      (none)

    此时可以看到配置文件已经加载正常,此时查看一下php 默认加载的模块

    [root@Testphp php]# php -m

    [PHP Modules]

    Core

    ctype

    date

    dom

    ereg

    fileinfo

    filter

    hash

    iconv

    json

    libxml

    pcre

    PDO

    pdo_sqlite

    Phar

    posix

    Reflection

    session

    SimpleXML

    SPL

    sqlite3

    standard

    tokenizer

    xml

    xmlreader

    xmlwriter

    [Zend Modules]

    此时如果想安装一个未加载的模块,这可以按照一下步骤进行

    [root@Testphp php]# cd /data/php-5.4.8/ext/

    可以看到有很多的扩展,以pcntl(php 多进程管理模块) 为例:

    [root@Testphp ext]#  cd pcntl

    [root@Testphp php]#  /data/application/php/bin/phpize

    [root@Testphp php]# ./configure --with-php-config=/data/application/php/bin/php-config && make && make install

    此时会生成一个pcntl.so文件,存放路径为:

    /data/application/php/lib/php/extensions/no-debug-non-zts-20100525/pcntl.so

    编辑/data/application/php/lib/php.ini

    [root@Testphp php]# vim /data/application/php/lib/php.ini

    增加两行配置:

    extension_dir = "/data/application/php/lib/php/extensions/no-debug-non-zts-20100525/" (如果存在则仅将pcntl.so 放到该目录中去即可)

    extension=pcntl.so

    此时再次查看php 记载的模块,可以看到新安装的pcntl已经加载进去

    [root@Testphp php]# php -m

    [PHP Modules]

    Core

    ctype

    date

    dom

    ereg

    fileinfo

    filter

    hash

    iconv

    json

    libxml

    pcntl

    pcre

    PDO

    pdo_sqlite

    Phar

    posix

    Reflection

    session

    SimpleXML

    SPL

    sqlite3

    standard

    tokenizer

    xml

    xmlreader

    xmlwriter

    [Zend Modules]

    其他模块则可以参照此方案进行,特别说明,php.ini默认不知道include *.ini

    [root@Test php-5.4.8]# ./configure --help |grep scan

      --with-config-file-scan-dir=PATH

                              Set the path where to scan for configuration files

    可以将额外的配置文件放置到此目录下,如果未指定这不加载

    [root@Test php-5.4.8]# php --ini

    Configuration File (php.ini) Path: /data/application/php/lib

    Loaded Configuration File:         /data/application/php/lib/php.ini

    Scan for additional .ini files in: (none)

    Additional .ini files parsed:      (none)

    下面的是另外一台机器 采用 YUM安装方式的默认配置信息,可以作为比较学习

    [root@Test2 ~]# php --ini

    Configuration File (php.ini) Path: /etc

    Loaded Configuration File:         /etc/php.ini

    Scan for additional .ini files in: /etc/php.d

    Additional .ini files parsed:      /etc/php.d/bcmath.ini,

    /etc/php.d/curl.ini,

    /etc/php.d/dom.ini,

    /etc/php.d/fileinfo.ini,

    /etc/php.d/gd.ini,

    /etc/php.d/imap.ini,

    /etc/php.d/json.ini,

    /etc/php.d/ldap.ini,

    /etc/php.d/mbstring.ini,

    /etc/php.d/mcrypt.ini,

    /etc/php.d/mysql.ini,

    /etc/php.d/mysqli.ini,

    /etc/php.d/odbc.ini,

    /etc/php.d/pdo.ini,

    /etc/php.d/pdo_mysql.ini,

    /etc/php.d/pdo_odbc.ini,

    /etc/php.d/pdo_sqlite.ini,

    /etc/php.d/phar.ini,

    /etc/php.d/sqlite3.ini,

    /etc/php.d/wddx.ini,

    /etc/php.d/xmlreader.ini,

    /etc/php.d/xmlrpc.ini,

    /etc/php.d/xmlwriter.ini,

    /etc/php.d/xsl.ini,

    /etc/php.d/zip.ini

  • 相关阅读:
    Delphi XE5 android 蓝牙通讯传输
    Delphi XE5 android toast
    Delphi XE5 android openurl(转)
    Delphi XE5 如何设计并使用FireMonkeyStyle(转)
    Delphi XE5 android 捕获几个事件
    Delphi XE5 android listview
    Delphi XE5 android 黑屏的临时解决办法
    Delphi XE5 android popumenu
    Delphi XE5 android 获取网络状态
    Delphi XE5 android 获取电池电量
  • 原文地址:https://www.cnblogs.com/yidifanhua/p/5255510.html
Copyright © 2020-2023  润新知