編譯安裝php
1、linux下,默認是在/usr/local/bin/,假如你設置--prefix=/usr/local/php那麼就在/usr/local/php/bin/ 2、sbin道理相同。sbin的意思就是server bin 3、EPREFIX沒用過 4、如果要用2套版本,用prefix區分開不同的安裝目錄。
② 請教在ubuntu上源碼編譯安裝php的一個問題
用軟體中心裝是最簡單的辦法,當然,你這是php太新才編譯不過去的,你也可以嘗試一下舊版本的php,假如你堅持要用這個版本的php,覺得它有很多吸引你的特性的話,那很抱歉,你的libxml2實在是太舊了,自己編譯一個新版本的libxml2吧,而且,還必...
③ 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
④ 如何在編譯好的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都需要哪些基礎安裝包
我上次搭建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)
⑥ 如何編譯安裝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怎麼更
編輯Makefile 大約100 行左右的地方: EXTRA_LIBS = ..... -lcrypt 在最後加上 -liconv,例如: EXTRA_LIBS = ..... -lcrypt -liconv 然後重新再次 make 即可。
然後重新make 順利通過了!
⑧ 編譯安裝的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,注釋什麼的我就去掉了。
⑨ 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
⑩ 在linux上編譯安裝PHP時,為什麼沒有php
cp php.ini-dist /usr/local/php/lib/php.ini默認沒有的需要從編譯時的源碼目錄一份到php的安裝目錄例如你下載的是php5.2.2,需要進入php5.2.2才能./configuire只需再次進入源碼目錄然後即可如果你是通過yum或apt安裝的就存在這個文件。