當前位置:首頁 » 編程語言 » 編譯安裝php55

編譯安裝php55

發布時間: 2022-11-29 19:37:36

A. 如何編譯安裝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

B. 編譯安裝的php5.6怎麼重啟

1.首先添加依賴應用
yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses curl openssl-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel readline-devel libxslt-devel expat-devel xmlrpc-c xmlrpc-c-devel
這一步是為了支持一些php運行的東西,還有以下編譯需要的
2.安裝加密擴展庫
cd /usr/local/src/
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
make install
3.到php壓縮包存放的目錄下
tar zxvf php-5.6.8.tar.gz #解壓
cd php-5.6.8 #進入文件夾
運行
[root@VPS php-5.6.8]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-mysql-sock --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-fpm --with-ncurses --enable-soap --with-libxml-dir --with-XMLrpc --with-openssl --with-mcrypt --with-mhash --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --disable-mbregex --disable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-pdo-mysql --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sqlite-utf8 --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd-compression-support --with-pear

C. 如何編譯安裝PHP擴展

在php.ini中 找到你要打開的模塊 然後把前面的分號刪掉 就意味著你打開了該模塊的功能

D. 源碼編譯安裝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

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

源碼編譯安裝php都需要哪些基礎安裝包
關於DDE通訊,給你一個經典的例子:

Step 1:
新建一個VB工程
把Form1的
Caption設置為工程1
WindowState設置為Minimized
LinkMode設為Source
LinkTopic設為Form1
在Form1添加TextBox,text1
設置text1的text值為:這是EXE文件中TEXT1中的數據
編譯生成 工程1.EXE

Step 2:
再建一個VB工程
把Form1的
LinkMode設為Source
LinkTopic設為Form1
在Form1添加TextBox,text1
把工程保存在一個文件夾內,把上面所做的工程1.EXE復制到這個文件夾內.

F. 如何使用app console on device

app console命令是Symfony2中的了,這個命令是小編用到的比較多了,用到多問題也不少了,下文我們來整理一些app console問題總結。

本人在使用php app/console -s進入symfony的shell界面時,上下左右鍵分別變成^[[A^[[B^[[C^[[D這種樣子。另外在使用table鍵補齊時只是把table鍵變成縮進,使用過程中非常的不方便。
解決思路:
1、直接搜索^[[A^[[B^[[C^[[D,無果。
2、突然想起以前在python環境中也遇到到類似問題,於是搜索多了一個參考條件。」python shell 亂碼」
3、在查找python過程中遇到了readline這個東西
4、然後搜索php readline之後,發現php有個readline擴展。
下面是解決方案1:
下載php源碼編譯安裝,編譯安裝的時候重新安裝readline擴展。

cd php-5.5.20/ext/readline
###執行phpize,並開始編譯###
phpize
./configure
make && make install
解決方案2:
經測試,MAMP自帶的php各個版本均不包含readline模塊,所以也可選擇brew安裝php。
brew install php55
可能存在php版本鏈接的問題,ln命令鏈接一下即可解決,不再贅述。
##完

G. 源碼編譯安裝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)

H. 如何在編譯好的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即可生效。 希望能幫到你,我還要抓緊時間自己在後盾人自己學習呢,一起加油吧(づ ̄ ³ ̄)づ

I. linux php 5.5安裝問題,php.ini不起作用

重新編譯下
--with-config-file-path=/usr/local/services/php5.5/php.ini
很單純你幹嘛不寫成/usr/local/services/php55這樣的

J. 請問編譯安裝php時一定要先安裝各種庫么

PHP的源碼中的ext目錄下的那些東西,並不是你所說的「庫」本身的源代碼,而是用了這些庫的PHP的C寫的擴展的源代碼,這些擴展,依賴於你所說的freetype,GD之類的庫,所以要先安裝那些庫,然後再在安裝PHP的時候編譯,如果你暫時不需要這些擴展,可以在php編譯的./configure時屏蔽掉這些擴展(詳見./configure --help)。擴展不需要了,自然它們的依賴庫也不需要了,但如果以後你需要,那你還是要先安裝這些依賴庫,然後再安裝php的擴展(編譯成.so)

熱點內容
解壓到當前文件夾右鍵 發布:2024-04-26 03:57:08 瀏覽:979
html5android教程視頻下載 發布:2024-04-26 03:09:59 瀏覽:867
伺服器的描述是什麼 發布:2024-04-26 03:08:32 瀏覽:394
個人加密 發布:2024-04-26 03:01:23 瀏覽:521
linuxusbgadget 發布:2024-04-26 02:52:54 瀏覽:304
我的世界空島世界伺服器地址 發布:2024-04-26 01:39:08 瀏覽:248
尼爾機械紀元加密 發布:2024-04-26 01:37:11 瀏覽:868
在控制台輸出sql語句 發布:2024-04-26 01:08:12 瀏覽:432
動畫java 發布:2024-04-26 01:02:40 瀏覽:12
得力文件夾5302 發布:2024-04-26 00:21:32 瀏覽:91