国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Linux服務器 > 正文

Linux 6 下編譯安裝 PHP 5.6實例詳解

2024-09-05 23:03:50
字體:
來源:轉載
供稿:網友

Linux 6 下編譯安裝 PHP 5.6實例詳解

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預處理器”)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利于學習,使用廣泛,主要適用于Web開發領域。PHP以其開發源代碼,免費,快捷,跨平臺,高效,面向對象,強大的動態圖像創建等功能深受廣大開發者的喜愛。本文描述基于CentOS 6.7下編譯安裝PHP 5.6.9,同樣也適用于CentOS 7下安裝。

一、相關依賴包安裝

1、演示環境# more /etc/redhat-release CentOS release 6.7 (Final)2、擴展支持(mcrypt、mhash擴展和libevent)如果想讓編譯的php支持mcrypt、mhash擴展和libevent,需要安裝以下包    libmcrypt    libmcrypt-devel    mhash    mhash-devel說明:mcrypt擴展庫可以實現加密解密功能,就是既能將明文加密,也可以密文還原。mhash是基于離散數學原理的不可逆向的php加密方式擴展庫,其在默認情況下不開啟。mhash的可以用于創建校驗數值,消息摘要,消息認證碼,以及無需原文的關鍵信息保存(如密碼)等。centos源不能安裝libmcrypt-devel,由于版權的原因沒有自帶mcrypt的包可以使用第三方源,這樣還可以使用yum來安裝安裝第三方yum源    # wget http://www.atomicorp.com/installers/atomic    # sh ./atomic使用yum命令安裝    # yum install php-mcrypt libmcrypt libmcrypt-devel mhash mhash-devel3、libevent相關包可以根據需要安裝libevent,系統一般會自帶libevent,但版本有些低。因此可以升級安裝如下兩個rpm包。    # yum install libevent libevent-devel說明:libevent是一個異步事件通知庫文件,其API提供了在某文件描述上發生某事件時或其超時時執行回調函數的機制它主要用來替換事件驅動的網絡服務器上的event loop機制。目前來說, libevent支持/dev/poll、kqueue、select、poll、epoll及Solaris的event ports。4、支持xml的相關包支持xml的rpm包bzip2 是一個基于Burrows-Wheeler 變換的無損壓縮軟件能夠高效的完成文件數據的壓縮libcurl主要功能就是用不同的協議連接和溝通不同的服務器,也就是相當封裝了的sockPHP libcurl允許你用不同的協議連接和溝通不同的服務器    # yum install libxml2 libxml2-devel bzip2-devel libcurl-devel5、圖形相關的rpm包通常對應的錯誤提示:JIS-mapped Japanese font support in GD    # yum install libjpeg-devel libpng-devel freetype-devel

二、編譯安裝php-5.6.9

首先下載源碼包至本地目錄,下載位置http://mirrors.sohu.com/php/# pwd  /usr/local/src# tar -xf php-5.6.9.tar.gz# cd ..# ~ln -sv ./src/php-5.6.9 php~  ###說明:考慮編譯后的簡潔,此命令移除@20160729 # cd php/# ./configure /       ###說明:編譯的內容被調整@20160729--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-mysql=/usr/local/mysql /--with-mysqli=/usr/local/mysql/bin/mysql_config /--with-pdo-mysql=/usr/local/mysql /--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-gd /--with-freetype-dir /--with-jpeg-dir /--with-png-dir###有關編譯配置項的詳細描述:https://segmentfault.com/a/1190000002717262# make && make install###以下為安裝完畢之后的提示信息    Installing shared extensions:      /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/    Installing PHP CLI binary:   /usr/local/php/bin/    Installing PHP CLI man page:  /usr/local/php/php/man/man1/    Installing PHP FPM binary:   /usr/local/php/sbin/    Installing PHP FPM config:   /usr/local/php/etc/    Installing PHP FPM man page:  /usr/local/php/php/man/man8/    Installing PHP FPM status page:  /usr/local/php/php/php/fpm/    Installing PHP CGI binary:   /usr/local/php/bin/    Installing PHP CGI man page:  /usr/local/php/php/man/man1/    Installing build environment: /usr/local/php/lib/php/build/    Installing header files:    /usr/local/php/include/php/    Installing helper programs:  /usr/local/php/bin/     program: phpize     program: php-config    Installing man pages:     /usr/local/php/php/man/man1/     page: phpize.1    ### Author : Leshami     page: php-config.1  ### Blog  : http://blog.csdn.net/leshami    Installing PEAR environment:   /usr/local/php/lib/php/    [PEAR] Archive_Tar  - installed: 1.3.12    [PEAR] Console_Getopt - installed: 1.3.1     [PEAR] Structures_Graph- installed: 1.0.4     [PEAR] XML_Util    - installed: 1.2.3    [PEAR] PEAR      - installed: 1.9.5    Wrote PEAR system config file at: /usr/local/php/etc/pear.conf    You may want to add: /usr/local/php/lib/php to your php.ini include_path    /usr/local/php/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin    ln -s -f /usr/local/php/bin/phar.phar /usr/local/php/bin/phar    Installing PDO headers:     /usr/local/php/include/php/ext/pdo/###php配置    php.ini是php運行核心配置文件    php-fpm.conf是php-fpm進程服務的配置文件# cp 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# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm# chmod +x /etc/init.d/php-fpm###fpm測試php配置# /usr/local/php/sbin/php-fpm -t[23-May-2016 20:03:52] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful# chkconfig --add php-fpm# chkconfig php-fpm on# service php-fpm start    Starting php-fpm done# ps -ef|grep php    root 45690 1 0 20:07 ? 00:00:00 php-fpm: master process(/usr/local/php/etc/php-fpm.conf)                                      nobody 45691 45690 0 20:07 ?   00:00:00 php-fpm: pool www                                                          nobody 45692 45690 0 20:07 ?   00:00:00 php-fpm: pool www                                                          root  45694  3441 0 20:07 pts/4 00:00:00 grep php# netstat -nltp|grep 9000    tcp 0  0 127.0.0.1:9000  0.0.0.0:*  LISTEN  45690/php-fpm  

三、配置apache訪問PHP

###開啟以下模塊# vim /etc/httpd24/httpd.conf   ###注意此處,我這里是單獨編譯安裝的httpd2.4版本,所以路徑有所不同    LoadModule proxy_module modeles/mod_proxy.so    LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so    AddType application/x-httpd-php .php      AddType application/x-httpd-php-source .phps    ProxyRequests Off   ###關閉正向代理,開啟下行的反向代理    ProxyPassMatch ^/(.*/.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/$1# service httpd24 restart    Stopping httpd24:       [ OK ]    Starting httpd24:       [ OK ]

四、驗證PHP

###編寫一個php頁面測試# echo "> <html>> <h1>This is a php test page.</h1>> <?php> phpinfo();> ?>> </html>">>/usr/local/apache/htdocs/index.php ###測試PHP# curl -I http://localhost:90/index.phpHTTP/1.1 200 OKDate: Fri, 15 Jul 2016 03:16:50 GMTServer: Apache/2.4.9 (Unix)X-Powered-By: PHP/5.6.9Content-Type: text/html; charset=UTF-8

五、對于本機未安裝mysql數據庫的情形(補充@20160718)

PHP5.3以上版本,為了鏈接MySQL數據庫,可以指定mysqlnd,這樣在本機就不需要先安裝MySQL或MySQL開發包。mysqlnd從php 5.3開始可用,可以編譯時綁定到它(而不用和具體的MySQL客戶端庫綁定形成依賴)。從PHP 5.4開始,對于未明確指定--with-mysql的情形,mysql本地驅動將會被安裝。可以參考如下配置:./configure        / ###修改@20160729  ..........       / ###參數同上,僅僅是mysql相關參數值設置為mysqlnd--with-mysql       / ###相當于該參數值為mysqlnd--with-mysqli       / ###相當于該參數值為mysqlnd--with-pdo-mysql     / ###相當于該參數值為mysqlnd有關mysqlnd可以參考:http://php.net/manual/zh/mysqli.overview.php#mysqli.overview.mysqlnd

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 尚志市| 大足县| 华池县| 苗栗县| 车险| 紫阳县| 定安县| 新蔡县| 岳西县| 华宁县| 泰州市| 彝良县| 乌鲁木齐县| 乌海市| 镶黄旗| 印江| 汉沽区| 万源市| 黑山县| 平武县| 灯塔市| 谷城县| 新郑市| 疏勒县| 交城县| 桦南县| 南部县| 长宁区| 永仁县| 西华县| 永泰县| 上栗县| 辽阳县| 淳化县| 从化市| 香格里拉县| 黄冈市| 宝鸡市| 昭苏县| 遵化市| 长垣县|