一開始安裝PHP的時候,我們並不知道需要哪些擴展,所以只有等到我們真正用到的時候才想辦法去安裝。
安裝PHP擴展最簡單的辦法就是
sudo apt-get install php5-xxx
但有的時候並非我們所願,源裡面並沒有我們需要的擴展,這時候就需要我們下載源碼自己編譯安裝了。
這篇文章中我將介紹在本地Linux平台下編譯安裝PHP擴展的方法。
現在網站根目錄下創建 index.php 列印基本的配置信息,以驗證我們是否安裝成功。
配置編譯環境
我們需要安裝一些編譯必須的庫,還有 php-dev 版本
Ubuntu
sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev
Fedora
sudo yum install php-devel php-mysqlnd gcc libtool
RHEL
sudo yum install php-devel php-mysql gcc libtool
Suse
yast2 -i php5-pear php5-devel php5-mysql gcc
安裝擴展
PHP有兩種可供安裝的擴展:一種是PHP原生的但是默認沒有安裝的,另一種的第三方開發的擴展。
下面依次介紹兩種擴展的安裝方法:
安裝之前我們需要一份和當前機器上相同版本的PHP源碼
cd code
wget http://cn2.php.net/distributions/php-5.5.9.tar.bz2
tar xvjf php-5.5.9.tar.bz2
cd php-5.5.9
前往此處 下載相應的源碼包。
在 /ext 目錄下面可以看到所有PHP原生的擴展。
安裝原生擴展
以 PHP-intl 為例,這是PHP國際化的擴展。
為了安裝這個擴展我們需要先安裝ICU 庫
sudo apt-get install icu-devtools icu-doc libicu-dev libicu52 libicu52-dbg
ICU 安裝成功之後進入/ext/intl 目錄:
cd intl
phpize
./configure --enable-intl
make
sudo make install
下面解釋一下上面的每個命令:
phpize : 是用來擴展php擴展模塊的,通過phpize可以建立php的外掛模塊
./configure --enable-intl: 配置編譯環境,相當於告訴編譯器編譯PHP源碼的時候加上intl這個擴展。
make: 將會把源碼編譯成 intl.so
make install : 將會把 intl.so 移動到當前安裝的 PHP 的擴展目錄。
接下來我們要做的就是在php.ini中啟用這個擴展,這一步將會在最後給出示例。
安裝第三方擴展
將以這個 擴展為例,這個擴展主要實現了PHP識別條形碼的功能。
先安裝必要的依賴
sudo apt-get install pkg-config
git clone https://github.com/mongodb/mongo-php-driver
cd mongo-php-driver
phpize
./configure
make
sudo make install
將會生成一個文件,將其拷貝到PHP的擴展目錄下面。
啟用擴展
在php.ini中啟用擴展的方式有很多:
直接在php.ini文件中添加 extension=mongo.so,這是最簡單直接的方法。
也可以單獨建一個ini文件,然後在php.ini中包含這些文件就可以了。
下面介紹一下第二種方法:
cd `/etc/php5/mods-available`
這個目錄里可以放新建的ini文件,然後執行
sudo touch mongo.ini
echo "extension=mongo.so" | sudo tee -a mongo.ini
sudo touch intl.ini
echo "extension=intl.so" | sudo tee -a intl.ini
上面的命令將會創建ini文件,並且寫如相應的配置信息。
然後執行下面的命令啟用擴展即可(需要安裝 php5enmod 工具):
sudo php5enmod mongo
sudo php5enmod intl
如果未安裝 php5enmod 工具,則需要手動配置:
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/cli/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/cli/conf.d/intl.ini
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/fpm/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/fpm/conf.d/intl.ini
最後在執行一下重啟操作就可以了:
sudo service nginx restart
sudo service php5-fpm restart
2. php extension 哪些
php extension就是php的擴展,這個擴展是有很多的,如:
HTTP extension for PHP旨在為PHP應用提供一個方便而強大的功能擴展 。它簡化了處理的HTTP網址,日期,重定向,HTTP 頭信息,消息,客戶的首選語言和字元集,以及提供便捷的數據高速緩存和恢復的方法。它提供了強大的功能,如果和 CURL 一起編譯的話將提供更強大的請求處理功能。PHP5或者更新版本提供並行請求處理;
extension_loaded—檢查一個擴展是否已經載入,說明extension_loaded()使用內置擴展名稱來測試一個擴展是否有效。 大多數內置擴展名稱是小寫的,但也有擴展使用大寫字元。 在 PHP 5 之前,此函數以大小寫敏感的方式對比名稱;
這里我給你看下小部分的截圖,如果你有興趣可以自行去下載一個php的安裝包來看:
3. 如何配置php中的php.ini-development文件
先將文件重命名為php.ini。
打開文件,裡面都是php的一些配置參數,主要修改有幾處地方:
1)常用函數如:;extension=php_mysql.dll ,找到類似這樣的代碼將前面的分號「;」去掉,如圖:
中國的區時有幾個,PRC,上海,重慶,北京,具體請網路,我這里寫了PRC。
這樣就配置好了,重啟一下伺服器就可以了。
這里的步驟中重點是1)和2),一定要配置好!!! 其他的就隨自己配置,比如錯誤提示機制,允許上傳文件的大小,內存大小這些修改就需要按照自己項目的需要來修改,一般情況下使用默認的配置就能滿足需求了,不需要怎麼改。
4. xampp運行php出現The requested URL was not found on this server .....怎麼解決啊
我遇到了同樣的結果,我是在php.ini文件 開啟了extension=php_intl.dll擴展。可能每個人遇到的情況不一樣,導致了相同的結果,希望有幫助。
5. php常用擴展有哪些
這個是php擴展庫支持。
在php.ini裡面可以看到952行。
extension=php_rar.dll
;extension=php_bz2.dll
extension=php_curl.dll
;extension=php_dba.dll
;extension=php_exif.dll
;extension=php_fileinfo.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_ming.dll
;extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll
;extension=php_oci8_11g.dll
extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_phar.dll
;extension=php_pspell.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_soap.dll
extension=php_sockets.dll
;extension=php_sqlite.dll
;extension=php_sqlite3.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_zip.dll
extension= php_memcache.dll
每一行前面分號去掉的表示開啟擴展庫的。
有些擴展庫是安裝的時候默認開啟的,有些需要手動開啟。
還有一些擴展庫需要自己去下載庫文件(要對應相應的版本)
下載的庫文件放在php安裝根目錄下面的ext目錄下面。當然這個目錄也是可以自己配置的。
6. 我在啟動wampserver時彈出php_intl.dll找不到指定模塊的對話框,請問如何解決。
打開php.ini文件,在你這個截圖目錄的上一級,把裡面的extension=php_intl.dll注釋掉(前面加上#號)。
或者去下載這個dll文件,放到這個文件夾,如果你需要這個擴展的話
7. php5.5.38怎麼開啟intl擴展
輸入掩碼屬性所使用的字元含義有如下: 0:必須輸入數字(0—9),不允許使用加號+和減號-。 9:可選擇輸入數字或空格,不允許使用加號和減號。 #:可選擇輸入數字或空格,允許使用加號和減號,空白會轉換為空格。
8. ubuntu 安裝php,為什麼還要安裝擴展包
始安裝PHP候我並知道需要哪些擴展所等我真用候才想辦安裝
安裝PHP擴展簡單辦
sudo apt-get install php5-xxx
候並非我所願源面並沒我需要擴展候需要我載源碼自編譯安裝
篇文章我介紹本Linux平台編譯安裝PHP擴展
現網站根目錄創建 index.php 列印基本配置信息驗證我否安裝功
配置編譯環境
我需要安裝些編譯必須庫 php-dev 版本
Ubuntu
sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev
Fedora
sudo yum install php-devel php-mysqlnd gcc libtool
RHEL
sudo yum install php-devel php-mysql gcc libtool
Suse
yast2 -i php5-pear php5-devel php5-mysql gcc
安裝擴展
PHP兩種供安裝擴展:種PHP原默認沒安裝另種第三發擴展
面依介紹兩種擴展安裝:
安裝前我需要份前機器相同版本PHP源碼
cd code
wget
tar xvjf php-5.5.9.tar.bz2
cd php-5.5.9
前往處 載相應源碼包
/ext 目錄面看所PHP原擴展
安裝原擴展
PHP-intl 例PHP際化擴展
安裝擴展我需要先安裝ICU 庫
sudo apt-get install icu-devtools icu-doc libicu-dev libicu52 libicu52-dbg
ICU 安裝功進入/ext/intl 目錄:
cd intl
phpize
./configure --enable-intl
make
sudo make install
面解釋面每命令:
phpize : 用擴展php擴展模塊通phpize建立php外掛模塊
./configure --enable-intl: 配置編譯環境相於告訴編譯器編譯PHP源碼候加intl擴展
make: 源碼編譯 intl.so
make install : intl.so 移前安裝 PHP 擴展目錄
接我要做php.ini啟用擴展步給示例
安裝第三擴展
擴展例擴展主要實現PHP識別條形碼功能
先安裝必要依賴
sudo apt-get install pkg-config
git clone
cd mongo-php-driver
phpize
./configure
make
sudo make install
文件其拷貝PHP擴展目錄面
啟用擴展
php.ini啟用擴展式:
直接php.ini文件添加 extension=mongo.so簡單直接
單獨建ini文件php.ini包含些文件
面介紹第二種:
cd `/etc/php5/mods-available`
目錄放新建ini文件執行
sudo touch mongo.ini
echo "extension=mongo.so" | sudo tee -a mongo.ini
sudo touch intl.ini
echo "extension=intl.so" | sudo tee -a intl.ini
面命令創建ini文件並且寫相應配置信息
執行面命令啟用擴展即(需要安裝 php5enmod 工具):
sudo php5enmod mongo
sudo php5enmod intl
未安裝 php5enmod 工具則需要手配置:
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/cli/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/cli/conf.d/intl.ini
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/fpm/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/fpm/conf.d/intl.ini
執行重啟操作:
sudo service nginx restart
sudo service php5-fpm restart
9. phpstudy windows10環境下怎麼安裝php_intl.dll擴展
在phpstudy中將版本切換到php-5.4.45-nts+iis7/8(打開phpstudy->切換版本->選擇php-5.4.45-nts+iis7/8)
win10+iis10+phpStudy配置php開發環境
win10+iis10+phpStudy配置php開發環境
2
切換版本後,可能你的mysql啟不起來,沒關系,手動啟動一下就可以了(到你安裝mysql的bin目錄下點一下mysqld.exe,點擊後,會彈一個控制台界面,界面會自己關掉,關掉後mysql就運行好了)
win10+iis10+phpStudy配置php開發環境
win10+iis10+phpStudy配置php開發環境
win10+iis10+phpStudy配置php開發環境
在phpstudy上新增一個網站,我這里使用的這個域名是永久解析到了127.0.0.1的,所以可以隨便取個二級域名綁定你本地的網站。
win10+iis10+phpStudy配置php開發環境
win10+iis10+phpStudy配置php開發環境
win10+iis10+phpStudy配置php開發環境
win10+iis10+phpStudy配置php開發環境
打開你的iis管理器(win+R->輸入inetmgr->確定),准備添加「處理程序映射」
win10+iis10+phpStudy配置php開發環境
雙擊「處理程序映射」,然後左鍵點擊右上角「添加模塊映射...」
win10+iis10+phpStudy配置php開發環境
如下圖,填寫模塊信息,注意,請求路徑*.php的*不能少。
win10+iis10+phpStudy配置php開發環境
選擇可執行文件,即你php目錄下的php-cgi.exe
win10+iis10+phpStudy配置php開發環境
填寫好名稱,然後還要配置請求限制,如圖所示,選擇「文件或文件夾」,然後一路確定。
win10+iis10+phpStudy配置php開發環境
win10+iis10+phpStudy配置php開發環境
win10+iis10+phpStudy配置php開發環境
win10+iis10+phpStudy配置php開發環境
確定後,映射模塊列表裡有你添加的信息,說明添加模塊成功。
win10+iis10+phpStudy配置php開發環境
在IIS上添加一個網站,注意,綁定的埠為80埠,域名和phpstudy上綁定的一樣。
win10+iis10+phpStudy配置php開發環境
win10+iis10+phpStudy配置php開發環境
配置好默認文檔(index.php),其它的可以刪除。
win10+iis10+phpStudy配置php開發環境
win10+iis10+phpStudy配置php開發環境
win10+iis10+phpStudy配置php開發環境
配置好了默認文檔後,就可以訪問你的php網站了,因為我這個網站首頁還沒有內容,所以顯示的是登錄頁面,如下
win10+iis10+phpStudy配置php開發環境
10. 如何配置php中的php.ini-development文件
如何配置php中的php.ini-development文件
首先將下載好的php安裝包解壓,打開文件夾,裡面看到的如圖