欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

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

系統 3167 0

最近一段時間學習了一下PHP,用CI做了一個小項目,為了開發方便,本地windows下使用了集成環境 XAMPP ,不過當把項目部署到linux上時,確實遇到了很多問題,下面把我在linux上安裝php的過程記錄一下。

?

項目說明:

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

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

3.支持PDO。

?

環境說明:

1.linux是linux centos6.4?x86_64;

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

3.其它服務器已經安裝好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時有可能提示如下錯誤:

?either set the LIBPNG_CFLAGS and LIBPNG_LDFLAGS environment variables

?

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

解決方法:

編輯: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 \ //建立共享庫使用的GNU 的libtool

> --enable-static //建立靜態庫使用的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 庫文件的位置

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

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

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

make &&?make install

?

ok,以上過程應該不會遇到問題, 接下來安裝PHP

問題從這里開始,我們一步一步說明:

cd /usr/local/src/

tar zxvf?php-5.5.6.tar.gz

cd php-5.5.6

./configure \ //執行當前目錄下軟件自帶的配置命令

> --prefix=/usr/local/php \ //設置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 庫的地方

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

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

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

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

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

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

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

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

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

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

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

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

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

?

接下來就都是重點了

問題1:

按照以上配置,make時可能報如下錯誤:

/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

問題說明:這是提示gd庫不支持xpm

解決方法:

1.安裝libxpm

yum install libXpm-devel.x86_64

?

2.按照上面的方法重新安裝gd庫

安裝成功后會看到如下信息,說明gd已經支持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:

問題2:

報錯:

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

問題說明:沒有找到xpm庫的安裝位置

解決方法:

1.rpm -ql libXpm :查詢出libXpm的安裝位置,發現在/usr/lib64/ 下

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

3.make && make install 成功!

?

注意: 現在只安裝了對mysql的支持,還沒有安裝對oracle的支持

?

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

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

以后就修改這個文件就可以實現對php的配置,修改后需要重啟Apache。

?

apache配置支持php:

vi /etc/httpd/httpd.conf:配置如下兩項

<IfModule dir_module>

? ? DirectoryIndex ?index.php ?index.html

</IfModule>

?

<IfModule mime_module>中添加:

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

?

接下來測試php是否正確安裝:

cd /usr/local/apache2/htdocs/

新建一個test.php

<?php

phpinfo();

?>

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

?

如果只是鏈接mysql數據庫,上面的配置就足夠了。

?

下面說明如何安裝對oracle的支持:

?1.下載 oracle 客戶端

選擇 Instant Client for Linux x86-64 ?? Version 11.2.0.1.0(不知為何, Version 11.2.0.4.0?rpm安裝時報錯,所以選擇了一個低版本的

? 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

定義環境變量

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"

然后用以下語句使其立即生效

source /etc/profile

?

3.64位系統需要創建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?

會提示輸入oracleclient位置,輸入如下內容:

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

?

安裝有可能失敗 ,如果沒有安裝成功,則會將擴展下載到/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

?

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

需要手動配置到php.ini中

找到extension_dir ,解開注釋,配置上絕對路徑

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

然后增加如下內容,即表示啟用oci8擴展:

extension=oci8.so

保存后,重啟Apache,查看http://192.168.36.24/test.php進行驗證。

?

5.安裝pdo-oci

ln -s /usr/include/oracle/11.2 /usr/include/oracle/10.2.0.1 ?:pdo_oci暫時不支持11.2,所以這里實際上是弄個假象,讓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?

會提示輸入oracleclient位置,輸入如下內容:instantclient,/usr,10.2.0.1

?

安裝有可能失敗 ,如果沒有安裝成功,則會將擴展下載到/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 ?: 這個步驟非常重要,否則make時會報錯 :make: *** [pdo_oci.lo] Error 1

make

make install

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

但是,當把pdo_oci.so加入到php.ini后,卻發現,根本沒起作用,

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

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

說明,我編譯出的pdo_oci.so有問題,動態加載不成功,所以我使用靜態編譯的方式,重新編譯php:

?

cd /usr/local/src/php-5.5.6

?

上次編譯成功的結果會被放在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,將看到已經支持pdo-oci了。

?

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

找到extension_dir ,解開注釋,配置上絕對路徑

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

然后增加如下內容,即表示啟用oci8擴展:

extension=oci8.so

保存后,重啟Apache,查看http://192.168.36.24/test.php進行驗證。

?

?

當然,也可以直接將oci8靜態編譯進php中,?--with-oci8=instantclient,/usr/lib/oracle/11.2/client/lib ?

?

下面給出一個完整的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環境安裝完成。

?

安裝其它擴展:

1.memcache

如果需要為php增加memcache擴展,按如下方法進行:

cd /usr/local/php/bin

./pecl install memcache

?

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

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

?

需要手動配置到php.ini中,增加如下內容,即表示啟用memcache擴展:

extension=memcache.so

保存后,重啟Apache,查看http://192.168.36.24/test.php進行驗證。

?

2.Zend OPCache

?為了提高php運行速度,可以啟用Zend OPCache,啟用方法很簡單,安照上面的方法安裝php,則已經在

/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

然后打開并配置相應的配置項即可,比如:

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進行驗證。會看到如下信息:

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

?

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


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久色伦理资源站 | 免费免费啪视频在线 | 色在线视频播放 | a级在线观看免费 | 欧美在线a| 亚洲人成亚洲人成在线观看 | 久久综合九九 | 欧美激情久久久久久久久 | 香蕉久久a毛片 | 超级碰碰碰免费视频 | 色哟哟国产成人精品 | 一区二区蜜桃 | 亚洲高清中文字幕综合网 | 成人在线一区二区三区 | 波多野结衣亚洲 | 久久久无码精品亚洲日韩按摩 | 清清草免费视频 | 国产精品夜夜爽 | 日一日干一干 | 黄网页在线观看 | 欧美成人h版在线观看 | 久久国产精品-国产精品 | 一级性黄色片 | www.99热这里只有精品 | 人妻熟女久久久久久久 | 日韩一区精品 | 国产免费麻豆 | 免费观看一级黄色片 | 日韩精品一区二区三区中文在线 | 一本大道久久a久久综合 | 久久精品免费观看 | 午夜成人免费视频 | 日本黄视频在线观看 | 成人毛片一区 | 日本大黄视频 | 欧洲精品一区二区三区在线观看 | 午夜影院在线免费观看视频 | 成人午夜亚洲影视在线观看 | 国产一区二区精品尤物 | 国产欧美日韩在线不卡第一页 | 日韩a视频 |