LNMP支持curl openssl 等擴展的解決

http://www.laruence.com/2009/04/28/719.html

注意在window下我們經常下載dll文件,然後放在擴展目錄中,但是在linux下dll不能使用,對應的是so文件。


在LINUX下使用源碼安裝php

./configure --prefix=。。。。。--enable-php-fpm

這樣會沒有安裝curl openssl mbstring mysqli gd庫等

最好是在安裝php的時候直接./configure --with-XXXX,要支持的擴展都安裝上,因爲本文安裝時並沒有不支持擴展,所以這裏在安裝後php,不支持擴展的情況下的解決辦法。


很多文章都將在php.ini文件中直接將extension=前的;去掉,但是不能實現,我們要在找到php的安裝源碼中ext文件中生成擴展包.so,然後複製到extension的搜索目錄中,並且在php.ini文件中添加extension=XX.so,最後再重啓nginx php-fpm即可。

1 curl 

  (1)cd php-5.6.8/ext/curl   

(2)# phpize

      phpize是用來擴展php擴展模塊的,通過phpize可以建立php的外掛模塊,執行後會生成configure文件。

     不能執行就find / -name "phpize" 找到phpize的路徑。然後執行 # /XXX/phpize;

(3)然後執行

# ./configure--with-curl --with-php-config=/home/XX/php/bin/php-config

(4)# make ; make test; make 

  (5) # cp  curl.so XX

    XX 是php.ini 文件中extension-dir=“XX” 的路徑‘’

 (6)修改php.ini

          extension=curl.so

2 openssl 同上

3 mbstring 不同在(3)步,其他一樣

    ./configure--enable-mbstring--with-php-config=/home/XX/php/bin/php-config

4 mysql mysqli的支持

   其中第(3)步:./configure--with-php-config=/home/XX/php/bin/php-config--with-               mysql=/home/XX/mysql/mysql/

    with-mysql=mysql安裝位置

   mysqli安裝:

    其中第(3)步:  ./configure--with-mysqli--with-php-config=/home/XX/php/bin/php-config

會出錯:關於mysqli_api.c內找不到mysqlnd的。。。。。

直接修改mysqli_api.c中include的路徑,採用絕對路徑

5 gd 需要支持jpeg freetype png 等

在編譯擴展中,我的出現不支持jpeg freetype 

 這是需要查看是否安裝jpeg freetype 其中jpeg安裝參照6

# ./configure --with-gd --with-jpeg-dir=/home/XX/jpeg --with-freetype-dir=/usr/include/freetype2 --with-php-config=/home/XX/php/bin/php-config

需要指定安裝位置

6 安裝jpeg

這裏安裝的6

解壓後:

# cd jpeg6b

# ./configure --prefix=安裝路徑--enable-shared --enable-static

#make && make install

出現錯誤:

/usr/bin/install: 無法創建普通文件"/usr/local/man/man1/cjpeg.1": 沒有那個文件或目錄
make: *** [install] 錯誤 1

解決:

# mkdir -p /usr/local/man/man1 然後在make install即可。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章