導航:首頁 > 源碼編譯 > 編譯安裝php

編譯安裝php

發布時間:2022-01-23 06:06:45

A. 編譯安裝php5.6 so文件在哪

php安裝的最後一步make install時,我們會看到將動態鏈接庫libphp5.so拷貝到apache2的安裝目錄的moles目錄下,並且還需要在httpd.conf配置文件中添加LoadMole語句來動態將libphp5.so模塊載入進來,從而實現Apache對php的支持。

B. 源碼編譯安裝php都需要哪些基礎安裝包

我上次搭建Nagios時記錄的安裝PHP步驟:
tar -zxvf libxml2-2.7.8.tar.gz
cd libxml2-2.7.8
./configure --prefix=/usr/local/libxml2
make
make install

tar -zxvf php-5.4.10.tar.gz
cd php-5.4.10

./configure \
--prefix=/usr/local/php \
--with-apxs2=/var/httpd/bin/apxs \
--with-libxml-dir=/usr/local/libxml2 \
--enable-maintainer-zts

make
make install

cp php.ini-development /usr/local/lib/php.ini
# cp /usr/lib/httpd/moles/libphp5.so /var/httpd/moles/

vi httpd.conf
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
# LoadMole php5_mole moles/libphp5.so

從你的報錯信息來看,就挨個解決這三個問題吧:
Perl is not installed
apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
Apache was not built using --enable-so (the apxs usage page is displayed)

C. 在linux上編譯安裝PHP時,為什麼沒有php

cp php.ini-dist /usr/local/php/lib/php.ini默認沒有的需要從編譯時的源碼目錄一份到php的安裝目錄例如你下載的是php5.2.2,需要進入php5.2.2才能./configuire只需再次進入源碼目錄然後即可如果你是通過yum或apt安裝的就存在這個文件。

D. 如何在編譯好的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自帶的擴展模塊還是第三方擴展模塊都照這種方法安裝即可。

E. 編譯安裝的php怎麼安裝xcache

#第一步非常簡單,如果你下載不了就是人品問題。

#第二步,解壓Xcache源碼。
[plain] view plain 在CODE上查看代碼片派生到我的代碼片
tar -zvxf xcache-3.1.0.tar.gz

#第二部,也是非常簡單的,如果你解壓不了就是人品問題。

#接下來,順便,進入安裝目錄
[plain] view plain 在CODE上查看代碼片派生到我的代碼片
cd xcache-3.1.0

#第三步,非常重要,基本出錯都在這里。
#首先,安裝前要執行phpize配置
/php的路徑/bin/phpize
#請確保已經安裝了php,如果沒有安裝php請先安裝php。(費話,你不裝php,裝什麼Xcache啊)

#接下來,配置->編譯->安裝,可一步到位,前提是你路徑沒有錯誤。
[plain] view plain 在CODE上查看代碼片派生到我的代碼片
#配置
./configure --prefix=/php的路徑/lib/php/extensions \
--with-php-config=/php的路徑/bin/php-config \
--enable-xcache
#編譯
make
#安裝
make install

#安裝完成後,會出現類似以下提示的東西,證明安裝成功。
/www/php/extensions/no-debug-non-zts-20060613/

#到這里,就算安裝完成了,剩下就是配置工作。

#把xcache管理頁面,移動到web目錄。
[plain] view plain 在CODE上查看代碼片派生到我的代碼片
cp ./htdocs /www/web/xcache -r

#./htdocs,這是在源碼目錄中的。別告訴我你找不到。
#/www/web/xcache,web目錄,名字叫什麼自己喜歡。
#當然,如果你很笨的話。用不起這個命令。那麼,在解壓好的源碼目錄中,直接通過FTP之類的工具,直接移動也是OK的。

配置php.ini,
還是在源碼目錄中,找到 xcache.ini , 然後直接在 php.ini 後面加就行。
#或者用以下命令,追加配置文件xcache.ini至php.ini
[plain] view plain 在CODE上查看代碼片派生到我的代碼片
cat xcache.ini >> /php的路徑/etc/php.ini

#如果你很笨,還是建議FTP裡面操作,因為後面還要修改下管理的用戶名跟密碼的。。。

請注意修改xcache.ini中的屬性。此時執行完上面那命令,就要編輯php.ini了。
xcache.admin.user = "admin"
xcache.admin.pass = ""
密碼是admin,想改密碼什麼的,以你的聰明才智你懂的。
xcache.mmap_path = "/tmp/xcache"
#這個文件建議在tmp目錄咯,記得給 777 許可權。
[plain] view plain 在CODE上查看代碼片派生到我的代碼片
touch /tmp/xcache
chmod 777 /tmp/xcache

上面都是需要注意的地方。
以下給出我配置好的xcache.ini,注釋什麼的我就去掉了。

F. linux 已經編譯安裝好php,怎麼添加mysqli

添加擴展的基本步驟:
1、進入PHP源代碼目錄:# cd /tmp/php-5.2.14/
2、再進入要添加的mysqli擴展源碼目錄:# cd ext/mysqli/
2、調用已經編譯好的php裡面的phpize:# /usr/local/php/bin/phpize
3、然後configure:# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/MySQL/bin/mysql_config
(/usr/local/mysql 為mysql的安裝目錄)
4、make && make install
5、編譯之後,自動把mysqli.so放到了默認的php擴展目錄下,我的為 /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
(phpinfo可查看或者執行命令/usr/local/php/bin/php-config --extension-dir )
再修改php.ini 找到extension_dir 默認路徑為 extension_dir="./" 我修改後才啟動載入的
在下面添加extension = "mysqli.so" 保存即可

extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension = "mysqli.so"

6、重啟apache:# service httpd restart

G. 請教在ubuntu上源碼編譯安裝php的一個問題

用軟體中心裝是最簡單的辦法,當然,你這是php太新才編譯不過去的,你也可以嘗試一下舊版本的php,假如你堅持要用這個版本的php,覺得它有很多吸引你的特性的話,那很抱歉,你的libxml2實在是太舊了,自己編譯一個新版本的libxml2吧,而且,還必...

H. linux php 編譯安裝在哪

如果你在安裝PHP的時候不指定配置文件的目錄,一般配置文件php.ini需要放在/etc目錄下。
指定php.ini的位置。
./configure
--prefix=/usr/local/php5
--with-apxs2=/usr/local/apache2/bin/apxs
--with-config-file-path=/usr/local/php5
--wit

I. 如何編譯安裝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相關的資料

熱點內容
h264編碼器源碼 瀏覽:664
有什麼辦法翻錄加密視頻 瀏覽:666
java數據結構與演算法面試題 瀏覽:977
解壓不了是什麼意思 瀏覽:359
紐西蘭編程師年薪 瀏覽:321
程序員為什麼大多生閨女 瀏覽:51
c編程用英文還是中文 瀏覽:723
一點都不解壓的游戲 瀏覽:203
解壓為什麼不能用中文文件夾 瀏覽:615
伺服器如何解除備份 瀏覽:144
安卓手機為什麼用一年就變卡 瀏覽:11
如何用風變編程自動回復 瀏覽:512
安卓閱讀幣怎麼樣 瀏覽:437
京東app怎麼切號 瀏覽:583
進入傳奇伺服器後如何修改 瀏覽:42
m0單片機的cycle怎麼知道 瀏覽:806
linux命令太長 瀏覽:782
壓縮機nb1111y是多少w 瀏覽:45
打賞視頻用什麼伺服器好 瀏覽:154
方舟好友伺服器怎麼加mod 瀏覽:982