安裝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 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
『貳』 PHP如何安裝及配置
將下載的壓縮包解壓到純英文目錄下;
2.因為PHP是被動型的服務,目的就是為apache提供了處理php代碼的服務。因此我們要做的配置就是告訴apache,PHP在哪?需要它處理什麼樣的文件。
所以,打開apache的配置文件,httpd.conf。
搜索LoadMole,找到之後按照相同的格式載入php模塊,輸入:
接著搜索mime_mole,找到後按照相同格式在該標簽內,輸入:
放的位置是沒什麼要求,最好是能跟好隊形,好修改。
上面添加的配置,分別是告訴php的位置,然後告訴伺服器.php的文件會被當作「application/x-httpd-php」格式處理,而伺服器里處理application/x-httpd-php格式的就是php。這樣配置之後,一旦是.php的文件伺服器都會調用我們的php來處理。
到這里php代碼就可以正常使用了。
3.php的配置以及添加擴展
php本身的配置是要自己創建的。
首先,在解壓的php目錄下找到php.ini-development文件,這是php提供的配置模版,復制並修改文件名為php.ini。
由於php是被動服務,它的配置文件也一樣是apache來調用,所以還是要到apache的配置文件httpd.conf里添加:
接著,如果要添加擴展,可以在php的配置文件php.ini里搜索extension_dir,找到下圖:
php配置文件的注釋是靠「;」,這項配置是說明擴展文件的所在目錄。
按格式加上:extension_dir = "你的擴展文件目錄"
你的擴展文件目錄就是php解壓目錄下的ext文件夾,即:"解壓目錄/ext"。
接著需要告訴php載入哪些擴展:
在php.ini里添加:extension=你要添加的擴展名字
『叄』 PHP安裝以及教程
tomcat ?
據說tomcat配PHP效果不是很好..還是換apache吧....
apache嗎..反正幾乎是一路next就可以裝好了..不過你如果裝了IIS..就要注意埠問題..可能會有沖突..mysql也是.一路next,php嗎..我是這么樣的..
1.下載下來的php包解壓..文件夾最好直接命名成php.
2.將php.ini-recommended改名為php.ini(這個是php的配置文件).放到c:\windows下(不放這里好像會有問題)
3.php.ini設置:extension_dir = "c:\php\ext"設置成你的ext文件夾的目錄,去掉extension=php_mysql.dll前面的分號(載入mysql擴展).需要什麼擴展可以根據需要修改.
4.apache的設置:apache安裝目錄下的conf文件夾下.找到httpd.conf,DocumentRoot "d:/wwwroot"
這里是你的網站的目錄,
在最後添加
LoadMole php5_mole "c:/php/php5apache2_2.dll"(載入php模塊)
AddType application/x-httpd-php .php (可解析的php擴展名)
AddType application/x-httpd-php-source .phps (這個不記得了.反正肯定要的)
如果發現許可權不夠.找到這里
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
options indexes
</Directory>
原來是deny from all改成allow from all.
最好打開apache的目錄顯示.
Options Indexes FollowSymLinks去掉前面的#,如果還不可以.就在上面的allow from all下面加上options indexes就OK了.
這是win下面的apache+php的配置..
mysql安裝比較簡單..我就不說了...
PHP的電子教程網上非常多..在這里也不可能給你貼出來吧..
還有關於框架..框架網上的教程也很多..網路一下吧..
著名的框架有zend Framework,cakephp,國產的fleaphp,thinkphp等等...
『肆』 如何安裝新的PHP擴展模塊
php安裝好後,可能在初次安裝時,會有些模塊會有遺漏,但是我們又不想重新編譯php,因為耗時是比較長的。我們可不可以在不重新編譯安裝php的情況下,來為php單獨添加某一個模塊呢?查找資料,發現還是有方法的,重點就是phpize了,於是寫了這篇文章.
下面我們就以單獨為php載入mysqli模塊為例,演示如何動態為php添加模塊。
1、找到php原碼安裝文件
2、cd /home/php/ext/myslqi
3、運行 /usr/local/php/bin/phpize
4、/configure –with-php-config=/usr/local/php/bin/php-config
5、make && make install
6、安裝完成之後會在系統/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/這個目錄下面生成mysqli.so的庫文件
7、編輯php.ini文件,指定php到哪人目錄讀取模塊
vi /usr/local/php/etc/php.ini
extension_dir=」/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613″
extension=mysqli.so
8、重啟php服務 /usr/local/php/sbin/php-fpm restart
7、/usr/local/php/bin/php -m|grep mysqli 查看mysqli.so是否存在
如果步驟正確,你的人口也不差的情況下,應該這樣php的動態模塊載入就完成了。
『伍』 如何在編譯好的PHP環境中安裝PHP擴展模塊
1、先進入php解壓縮後的源碼包中,找到要安裝的擴展模塊的目錄。
[root@redhat5 sockets]# cd /home/soft/php-5.2.12/ext/sockets
在sockets目錄下面以絕對路徑運行phpize程序,這時會自動生成sockets的configure程序,在sockets目錄下面可以看到。
[root@redhat5 sockets]# /home/webserver/php5.2.12/bin/phpize
2、進行編譯安裝
[root@redhat5 sockets]# ./configure --with-php-config=/home/webserver/php5.2.12/bin/php-config
[root@redhat5 sockets]#make
[root@redhat5 sockets]#make install
執行完make install屏幕上會提示sockets.so存放的路徑,然後把它復制到php的extensions目錄中,例如我的路徑為 /home/webserver/php5.2.12/lib/php/extensions
3、修改php.ini文件
找到extension_dir = "./" 這行,修改為:
extension_dir = "/home/webserver/php5.2.12/lib/php/extensions/"
然後再新增加一行:
extension=sockets.so
4、重啟apache即可生效。
『陸』 php怎麼安裝
安裝 php
1.下載軟體包到 /usr/local/src
2.解壓軟體包
3.建立 php 的目錄
#cd /usr/local
#mkdir php
4.進入解壓後的目錄位置
#cd /usr/local/src/php-4.0.5
5.運行安裝配置
這里的配置較為復雜:
#./configure --prefix=/usr/local/php --with-apxs=/usr/local/apache/bin/apxs --with-mysql=/usr/local --enable-track-vars --disable-debug
特別要指出的是這配置了 apache 自動載入 php 模塊功能和 mysql 資料庫支持功能
6.編譯 php
#make
7.安裝 php
#make install
php 安裝完成
『柒』 怎麼安裝PHP的pcntl擴展模塊
1、進入php源碼包里擴展目錄
[root@nginx ~]# cd ./php-5.6.7/ext/pcntl/
2、用phpize生成配置文件
[root@nginx pcntl]# phpize
[root@nginx pcntl]# ./configure
3、make && make install安裝
[root@nginx no-debug-non-zts-20131226]# ls
bcmath.so gd.so opcache.a pcntl.so
calendar.so mcrypt.so opcache.so pdo_mysql.so
curl.so memcache.so openssl.so posix.so
4、php.ini配置載入pcntl.so擴展
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20131226/pcntl.so
『捌』 如何在linux下安裝php環境
linux ubuntu系統安裝php環境:
安裝 Apache2:
sudo apt-get install apache2
安裝PHP模塊:
sudo apt-get install php5
安裝Mysql
sudo apt-get install mysql-server
其他模塊安裝:
sudo apt-get install libapache2-mod-php5
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql
sudo apt-get install php5-gd
前兩個很容易明白,要想apache能夠解析PHP,就需要藉助這兩個模塊來找到php engine。
第三個在php操作mysql資料庫時用到,大多數人都有資料庫編程經驗,所以這就不用多解釋了
第四個GD庫。
『玖』 如何安裝 php 的zip模塊
第一步、找到php.ini文件第二部、用記事本打開第三步、使用ctrl鍵+F鍵搜索;extension=php_zip.dll第四步、去除extension前面的分號「;」,如extension=php_zip.dll第五步、保存重啟Apache或其他伺服器。如圖:
『拾』 安裝PHP擴展模塊 為PHP添加mcrypt模塊了
上面提供的靜態編譯的方法,是把所有的模塊都打包進
php
主程序中,這樣做的好處是,模塊直接聯系緊密,調用該模塊中的函數效率會更高,免去了
尋找模塊,載入模塊的時間。
靜態編譯也就是
全部重新編譯了,只是根據需求,增加了configure後面的參數。
還有一種是
所謂的
動態編譯
比如現在有一個網站,需要增加某個模塊,但是網站不允許停頓如此長的時間,那麼就刻意選擇這樣。
以
curl模塊為例
進入
php
的
源碼包的
ext
目錄下的
curl
執行
/usr/local/php/bin/phpize
會生成只針對此模塊的
configure
文件
./configure
--with-php-config=/usr/local/php/bin/php-config
--with-curl=[dir]
make
make
install
然後
後顯示出來
編譯後的
curl.so
所在的路徑
復制此文件
到
模塊目錄下
配置php.ini
文件
重啟
apache
或者
php-cgi
配置就生效了。