亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

linux下PHP5.5的安裝【oci8,pdo-oci,memcache,Z

系統(tǒng) 3070 0

最近一段時(shí)間學(xué)習(xí)了一下PHP,用CI做了一個(gè)小項(xiàng)目,為了開發(fā)方便,本地windows下使用了集成環(huán)境 XAMPP ,不過(guò)當(dāng)把項(xiàng)目部署到linux上時(shí),確實(shí)遇到了很多問(wèn)題,下面把我在linux上安裝php的過(guò)程記錄一下。

?

項(xiàng)目說(shuō)明:

1.項(xiàng)目基于CI( codeigniter2.1.4 )框架;

2.多數(shù)據(jù)源支持(mysql,oracle),mysql與oracle部署在其它服務(wù)器上;

3.支持PDO。

?

環(huán)境說(shuō)明:

1.linux是linux centos6.4?x86_64;

2.本地已經(jīng)安裝好Apache( httpd-2.2.26 ),并開啟80端口;

3.其它服務(wù)器已經(jīng)安裝好MySQL5.6.14和Oracle11.2。

?

工具下載:

1. PHP :php-5.5.6.tar.gz

2. libxml2-2.6.30.tar.gz

3. libmcrypt-2.5.8.tar.gz?

4. zlib-1.2.8.tar.gz

5. libgd-2.1.0.tar.gz

6. autoconf-2.69.tar.gz

7. freetype-2.5.0.1.tar.gz

8. libpng-1.6.7.tar.gz

9. jpegsrc.v9.tar.gz

?

將所有包下載到/usr/local/src下

?

開始安裝:

注意:按如下順序安裝

1.安裝libxml2

cd /usr/local/src/

tar zxvf libxml2-2.6.30.tar.gz

cd libxml2-2.6.30

./configure --prefix=/usr/local/libxml2

make &&?make install

?

2.安裝libmcrypt、zlib、libpng、freetype

安裝方法同libxml2,分別安裝到如下路徑

/usr/local/libmcrypt

/usr/local/zlib

/usr/local/libpng

/usr/local/freetype

?

注意,安裝freetype時(shí)有可能提示如下錯(cuò)誤:

?either set the LIBPNG_CFLAGS and LIBPNG_LDFLAGS environment variables

?

這是提示找不到libpng的安裝位置,所以需要將libpng的bin目錄配置到環(huán)境變量中:

解決方法:

編輯:vi /etc/profile

LIB_PNG=/usr/local/libpng/bin

PATH=$LIB_PNG:$PATH ?

export PATH?

生效:. ?/etc/profile

?

重新安裝freetype即可。

?

3.安裝jpeg9

mkdir /usr/local/jpeg9

mkdir /usr/local/jpeg9/bin

mkdir /usr/local/jpeg9/lib

mkdir /usr/local/jpeg9/include

mkdir -p /usr/local/jpeg9/man/man1

cd /usr/local/src/

tar zxvf jpegsrc.v9.tar.gz

cd?jpeg-9

./configure \

> --prefix=/usr/local/jpeg9/ \?

> --enable-shared \ //建立共享庫(kù)使用的GNU 的libtool

> --enable-static //建立靜態(tài)庫(kù)使用的GNU 的libtool

make &&?make install

?

4.安裝 autoconf

cd /usr/local/src/

tar zxvf autoconf-2.69.tar.gz

cd autoconf-2.69

./configure

make &&?make install

?

5.安裝GD

cd /usr/local/src/

tar zxvf?libgd-2.1.0.tar.gz

cd?libgd-2.1.0

./configure \ //配置命令

> --prefix=/usr/local/gd2/ \ //指定軟件安裝的位置

> --with-zlib=/usr/local/zlib/ \ //指定到哪去找zlib 庫(kù)文件的位置

> --with-jpeg=/usr/local/jpeg9/ \ //指定到哪去找jpeg 庫(kù)文件的位置

> --with-png=/usr/local/libpng/ \ //指定到哪去找png 庫(kù)文件的位置

> --with-freetype=/usr/local/freetype/ //指定到哪去找freetype 2.x 字體庫(kù)的位置

make &&?make install

?

ok,以上過(guò)程應(yīng)該不會(huì)遇到問(wèn)題, 接下來(lái)安裝PHP

問(wèn)題從這里開始,我們一步一步說(shuō)明:

cd /usr/local/src/

tar zxvf?php-5.5.6.tar.gz

cd php-5.5.6

./configure \ //執(zhí)行當(dāng)前目錄下軟件自帶的配置命令

> --prefix=/usr/local/php \ //設(shè)置PHP5 的安裝路徑

> --with-config-file-path=/usr/local/php/etc \ //指定PHP5 配置文件存入的路徑

> --with-apxs2=/usr/local/apache2/bin/apxs \ //告訴PHP 查找Apache 2 的地方

> --with-libxml-dir=/usr/local/libxml2/ \ //告訴PHP 放置libxml2 庫(kù)的地方

> --with-png-dir=/usr/local/libpng/ \ //告訴PHP 放置libpng 庫(kù)的地方

> --with-jpeg-dir=/usr/local/jpeg6/ \ //告訴PHP 放置jpeg 庫(kù)的地方

> --with-freetype-dir=/usr/local/freetype/ \ //告訴PHP 放置freetype 庫(kù)的地方

> --with-gd=/usr/local/gd2/ \ //告訴PHP 放置gd 庫(kù)的地方

> --with-zlib-dir=/usr/local/zlib/ \ //告訴PHP 放置zlib 庫(kù)的地方

> --with-mcrypt=/usr/local/libmcrypt/ \ //告訴PHP 放置libmcrypt 庫(kù)的地方

> --with-mysql ?\ //激活MySQL功能,缺省為mysqlnd

> --with-mysqli \ //變量激活新增加的MySQLi 功能,缺省為mysqlnd

> --enable-soap \ //變量激活SOAP 和Web services 支持

> --enable-mbstring=all \ //使多字節(jié)字符串支持

> --enable-sockets \ //變量激活socket 通信特性

>?--enable-pdo \ //激活pdo

> --with-pdo-mysql ? //激活pdo-mysql,缺省為mysqlnd

?

接下來(lái)就都是重點(diǎn)了

問(wèn)題1:

按照以上配置,make時(shí)可能報(bào)如下錯(cuò)誤:

/usr/local/src/php-5.5.6/ext/gd/gd.c:57:22: error: X11/xpm.h: No such file or directory

make: *** [ext/gd/gd.lo] Error 1

問(wèn)題說(shuō)明:這是提示gd庫(kù)不支持xpm

解決方法:

1.安裝libxpm

yum install libXpm-devel.x86_64

?

2.按照上面的方法重新安裝gd庫(kù)

安裝成功后會(huì)看到如下信息,說(shuō)明gd已經(jīng)支持xpm了:

** Configuration summary for libgd 2.1.0:

?

? ?Support for Zlib: ? ? ? ? ? ? ? ? yes

? ?Support for PNG library: ? ? ? ? ?yes

? ?Support for JPEG library: ? ? ? ? yes

? ?Support for VPX library: ? ? ? ? ?no

? ?Support for TIFF library: ? ? ? ? no

? ?Support for Freetype 2.x library: yes

? ?Support for Fontconfig library: ? no

? ? Support for Xpm library: ? ? ? ? ?yes

? ?Support for pthreads: ? ? ? ? ? ? yes

?

3.再次按照上面的方法安裝php:

問(wèn)題2:

報(bào)錯(cuò):

ext/gd/gd.c:1330: undefined reference to `XpmLibraryVersion'

問(wèn)題說(shuō)明:沒有找到xpm庫(kù)的安裝位置

解決方法:

1.rpm -ql libXpm :查詢出libXpm的安裝位置,發(fā)現(xiàn)在/usr/lib64/ 下

2.重新編譯php,./configure中增加 --with-xpm-dir=/usr/lib64/?

3.make && make install 成功!

?

注意: 現(xiàn)在只安裝了對(duì)mysql的支持,還沒有安裝對(duì)oracle的支持

?

安裝成功后,拷貝php配置文件到指定路徑

cp /usr/local/src/php-5.5.6/php.ini-development /usr/local/php/etc/php.ini

以后就修改這個(gè)文件就可以實(shí)現(xiàn)對(duì)php的配置,修改后需要重啟Apache。

?

apache配置支持php:

vi /etc/httpd/httpd.conf:配置如下兩項(xiàng)

<IfModule dir_module>

? ? DirectoryIndex ?index.php ?index.html

</IfModule>

?

<IfModule mime_module>中添加:

? AddType application/x-httpd-php .php?

?

接下來(lái)測(cè)試php是否正確安裝:

cd /usr/local/apache2/htdocs/

新建一個(gè)test.php

<?php

phpinfo();

?>

打開瀏覽器,查看php配置。比如:http://192.168.36.24/test.php

?

如果只是鏈接mysql數(shù)據(jù)庫(kù),上面的配置就足夠了。

?

下面說(shuō)明如何安裝對(duì)oracle的支持:

?1.下載 oracle 客戶端

選擇 Instant Client for Linux x86-64 ?? Version 11.2.0.1.0(不知為何, Version 11.2.0.4.0?rpm安裝時(shí)報(bào)錯(cuò),所以選擇了一個(gè)低版本的

? 2.安裝oracle客戶端 (一定要先安裝jdk)

rpm -ivh oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.rpm

?

rpm -ivh oracle-instantclient11.2-devel-11.2.0.1.0-1.x86_64.rpm

?

echo '/usr/lib/oracle/11.2/client64/lib/' > /etc/ld.so.conf.d/oracle-x86_64.conf

定義環(huán)境變量

vi etc/profile

? ? ? 加入以下幾行

? ?export ORACLE_HOME=/usr/lib/oracle/11.2/client64/

? ?export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64:$LD_LIBRARY_PATH

? ?export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"

然后用以下語(yǔ)句使其立即生效

source /etc/profile

?

3.64位系統(tǒng)需要?jiǎng)?chuàng)建32位的軟鏈接

ln -s /usr/lib/oracle/11.2/client64 /usr/lib/oracle/11.2/client?

ln -s /usr/include/oracle/11.2/client64 /usr/include/oracle/11.2/client

?

4.安裝oci8

/usr/local/php/bin/pecl install oci8?

會(huì)提示輸入oracleclient位置,輸入如下內(nèi)容:

instantclient,/usr/lib/oracle/11.2/client/lib

?

安裝有可能失敗 ,如果沒有安裝成功,則會(huì)將擴(kuò)展下載到/tmp/pear/download下(也可以手工下載: http://pecl.php.net/get/oci8-2.0.6.tgz ),

可以使用如下方法安裝:

cd /tmp/pear/download

tar -zxvf oci8-2.0.6.tgz

cd ?oci8-2.0.6

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config --with-oci8= shared, instantclient,/usr/lib/oracle/11.2/client/lib

make

make install

?

安裝成功后會(huì)將oci8擴(kuò)展放入/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/下(oci8.so)

需要手動(dòng)配置到php.ini中

找到extension_dir ,解開注釋,配置上絕對(duì)路徑

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/"

然后增加如下內(nèi)容,即表示啟用oci8擴(kuò)展:

extension=oci8.so

保存后,重啟Apache,查看http://192.168.36.24/test.php進(jìn)行驗(yàn)證。

?

5.安裝pdo-oci

ln -s /usr/include/oracle/11.2 /usr/include/oracle/10.2.0.1 ?:pdo_oci暫時(shí)不支持11.2,所以這里實(shí)際上是弄個(gè)假象,讓pdo以為這是10.2的版本

?

ln -s /usr/lib/oracle/11.2 /usr/lib/oracle/10.2.0.1

?

/usr/local/php/bin/pecl?install pdo_oci?

會(huì)提示輸入oracleclient位置,輸入如下內(nèi)容:instantclient,/usr,10.2.0.1

?

安裝有可能失敗 ,如果沒有安裝成功,則會(huì)將擴(kuò)展下載到/tmp/pear/download下

可以使用如下方法安裝:

cd /tmp/pear/download

tar -zxvf PDO_OCI-1.0.tgz

cd ?PDO_OCI-1.0

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-oci=instantclient,/usr,10.2.0.1

ln -s pdo_oci.loT pdo_oci.lo ?: 這個(gè)步驟非常重要,否則make時(shí)會(huì)報(bào)錯(cuò) :make: *** [pdo_oci.lo] Error 1

make

make install

ok,成功,pdo_oci.so已經(jīng)被放入/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/下,

但是,當(dāng)把pdo_oci.so加入到php.ini后,卻發(fā)現(xiàn),根本沒起作用,

于是乎,查看Apache日志,在/usr/local/apache2/logs/error_log中看到如下內(nèi)容:

PHP Warning: ?PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/pdo_oci.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/pdo_oci.so: undefined symbol: PDO_OCI_INIT_MODE in Unknown on line 0

說(shuō)明,我編譯出的pdo_oci.so有問(wèn)題,動(dòng)態(tài)加載不成功,所以我使用靜態(tài)編譯的方式,重新編譯php:

?

cd /usr/local/src/php-5.5.6

?

上次編譯成功的結(jié)果會(huì)被放在config.nice中,所以修改config.nice,

在最后一行"$@"前增加一行:'--with-pdo-oci=instantclient,/usr,10.2.0.1' \

sh?config.nice

make

make install

?

ok,成功!

cp /usr/local/src/php-5.5.6/php.ini-development /usr/local/php/etc/php.ini 并重啟apache。

再次查看http://192.168.36.24/test.php,將看到已經(jīng)支持pdo-oci了。

?

但是發(fā)現(xiàn)不支持oci8了,原因是我們重新安裝了php,修改了php.ini ,所以需要重新在php.ini中增加oci8:

找到extension_dir ,解開注釋,配置上絕對(duì)路徑

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/"

然后增加如下內(nèi)容,即表示啟用oci8擴(kuò)展:

extension=oci8.so

保存后,重啟Apache,查看http://192.168.36.24/test.php進(jìn)行驗(yàn)證。

?

?

當(dāng)然,也可以直接將oci8靜態(tài)編譯進(jìn)php中,?--with-oci8=instantclient,/usr/lib/oracle/11.2/client/lib ?

?

下面給出一個(gè)完整的php編譯信息:

Shell代碼? ? 收藏代碼
  1. ./configure?\??
  2. ?--prefix=/usr/local/php?\??
  3. ?--with-config-file-path=/usr/local/php/etc?\??
  4. ?--with-apxs2=/usr/local/apache2/bin/apxs?\??
  5. ?--with-libxml-dir=/usr/local/libxml2/?\??
  6. ?--with-png-dir=/usr/local/libpng/?\??
  7. ?--with-jpeg-dir=/usr/local/jpeg9/?\??
  8. ?--with-freetype-dir=/usr/local/freetype/?\??
  9. ?--with-gd=/usr/local/gd2/?\??
  10. ?--with-zlib-dir=/usr/local/zlib/?\??
  11. ?--with-mcrypt=/usr/local/libmcrypt/?\??
  12. ?--with-xpm-dir=/usr/lib64/?\??
  13. ?--with-mysql?\??
  14. ?--with-mysqli?\??
  15. ?--enable-pdo?\??
  16. ?--with-pdo-mysql?\??
  17. ?--with-oci8=instantclient,/usr/lib/oracle/ 11.2 /client/lib?\??
  18. ?--with-pdo-oci=instantclient,/usr, 10.2 . 0.1 ?\??
  19. ?--enable-soap?\??
  20. ?--enable-mbstring=all?\??
  21. ?--enable-sockets???

?

?

至此,php5.5環(huán)境安裝完成。

?

安裝其它擴(kuò)展:

1.memcache

如果需要為php增加memcache擴(kuò)展,按如下方法進(jìn)行:

cd /usr/local/php/bin

./pecl install memcache

?

安裝時(shí)會(huì)提示是否開啟session支持,輸入n,不支持,安裝后路徑如下:

/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so

?

需要手動(dòng)配置到php.ini中,增加如下內(nèi)容,即表示啟用memcache擴(kuò)展:

extension=memcache.so

保存后,重啟Apache,查看http://192.168.36.24/test.php進(jìn)行驗(yàn)證。

?

2.Zend OPCache

?為了提高php運(yùn)行速度,可以啟用Zend OPCache,啟用方法很簡(jiǎn)單,安照上面的方法安裝php,則已經(jīng)在

/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/下生成了opcache.so,只需將其配置到php.ini中即可。

?

vi php.ini

找到[opcache]

在其下面增加:

zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/opcache.so

然后打開并配置相應(yīng)的配置項(xiàng)即可,比如:

opcache.enable=1

opcache.enable_cli=1

opcache.memory_consumption=256

opcache.interned_strings_buffer=16

opcache.max_accelerated_files=5000

?

opcache.revalidate_freq=60

opcache.load_comments=1

?

保存后,重啟Apache,查看http://192.168.36.24/test.php進(jìn)行驗(yàn)證。會(huì)看到如下信息:

with?Zend?OPcache?v7.0.3-dev,?Copyright?(c)?1999-2013,?by?Zend?Technologies

?

linux下PHP5.5的安裝【oci8,pdo-oci,memcache,Zend OPCache擴(kuò)展】


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国产在线观看不卡 | 天天视频一区二区三区 | 97国产在线视频公开免费 | 亚洲一区三区 | 日本操操操 | 视频一区二区三区在线 | 国产精品日本一区二区在线看 | 男女一级免费视频 | 日韩欧美国产一区二区三区 | 日韩一区二区三区免费 | 久久久久亚洲精品一区二区三区 | 一级片在线免费看 | 亚洲人成自拍网站在线观看忄 | 香蕉久草在线 | 97人人艹 | 在线亚洲欧洲国产综合444 | 欧洲成人在线观看 | 夜夜资源 | 天天射天天爱天天干 | 久久久久夜色精品波多野结衣 | 精品久久免费观看 | 精品成人毛片一区二区视 | 9久热久re爱免费精品视频 | 亚洲欧美一区二区三区综合 | 2020亚洲欧美日韩在线观看 | 特黄aaaaaaaaa及毛片 | 国产午夜精品福利 | 99国产在线视频 | 欧美日韩一区二区三 | 四虎在线观看免费永久 | 2019亚洲日韩新视频 | 久久一区二区三区精品 | 国产3344永久在线观看视频 | 日日夜夜亚洲 | 色婷综合| 97视频免费看 | 毛片在线播 | 奇米777777 | 91视频官网 | 韩国亚洲伊人久久综合影院 | 日本高清中文字幕在线观穿线视频 |