當前位置:首頁 » 編程軟體 » 如何編譯安裝php

如何編譯安裝php

發布時間: 2023-05-01 16:13:28

⑴ 怎麼樣安裝CMEM的php擴展編譯

CMEM全稱為Cloud Memory,是騰訊提供的高性能內存級持久化存儲服灶納務,適用於數據量小、訪問量高、key-value存儲的場景。
CMEM基於一個存儲鍵/值對的hashmap,數據使用內存存儲,並保證數據的持久性。
CMEM PHP Extension是什麼?
CMEM基於標準的Memcached協議以及介面,只是將數據獲取介面增加返回值設定。
Memcached的Get協議沒有設計返回碼,所以Memcached API返回NO_DATA時,有可能是網路原因造成的,不能完全信任。 使用如下流程將是非常危險的,將造成用戶數據初始化:
if(NO_DATA) {
InitData();
}
為解決上述問題,CMEM提供了Memcahced文本擴展協議,增加兩個擴展的命令get_ext, gets_ext,使客戶端可以根據返回碼判斷數據是否存在。 這樣可以避免網路和設備故障時get不到數據而導致用戶數據被誤初始化。
CMEM編譯與安裝
# 下載CMEM
cd /home/src
wget
# 解壓
tar zxvf cmem-2.2.6.tar.gz
cd cmem-2.2.6
# 編譯
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
make
# 安裝PHP擴展
cp moles/cmem.so /usr/local/webserver/php/lib/php/圓指extensions/no-debug-non-zts-20090626/
# 配置php.ini
# 加入以下內容
# --------------------------------------------------
extension = "cmem.so"
# --------------------------------------------------
# 測試
# 新建cmemtest.php
cat > /tmp/cmemtest.php
# 代碼為
# --------------------------------------------------
<橘辯配?php
if(!class_exists('CMEM')) echo "CMEM NOT FOUND!\n";
else echo "CMEM IS OK\n";
?>
# --------------------------------------------------
# 執行測試文件
/usr/local/webserver/php/bin/php -f /tmp/cmemtest.php

⑵ 如何在openSUSE42.1下編譯安裝PHP7

首先推薦一篇文章
PHP
7
Release
Date
Arrived:
Will
Developers
Adopt
PHP
7?
-
PHP
Classes
blog

裡面說到是否會去使用PHP7,就個人而言,我是毫不猶豫地使用的,但是生產環握判境就不是我說了算,所以只能自己在自己的開發環境里更新PHP的版本。那麼,你呢?
筆者使用的是Linux的openSUSE42.1發行版,Yast裡面還沒有PHP7的安裝包,於是乎只能自己手動編譯安裝了。作為一個PHP開發者,我是非常希望能夠學會編譯安裝PHP7的,之前試過幾次,但是每次安裝都要上網找各段消改種資料,於是乎,這次安裝成功後就想把自己的安裝過程以及遇到的問題記錄下來,方便以後查閱和分享給需要的人。
下載源碼並解壓
進入正題,要編譯安裝PHP7,首先當然要下載PHP7的源碼。你可以到
github
上clone,也可以到
PHP官網
下載。下載後解壓到
/usr/local/src
目錄,並將目錄重命名為php7。進入目錄。
配置編譯參數
生成配置文件
./buildconf
配置
./configure
\
--prefix=/usr/local/php7
\
--exec-prefix=/usr/local/php7
\
--bindir=/usr/local/php7/bin
\
--sbindir=/usr/local/php7/sbin
\
--includedir=/usr/local/php7/include
\
--libdir=/usr/local/php7/lib/php
\
--mandir=/usr/local/php7/php/man
\
--with-config-file-path=/usr/local/php7/etc
\
--with-mysql-sock=/var/run/mysql/mysql.sock
\
--with-mcrypt=/usr/include
\
--with-mhash
\
--with-openssl
\
--with-mysqli=shared,mysqlnd
\
--with-pdo-mysql=shared,mysqlnd
\
--with-gd
\橋碧
--with-iconv
\
--with-zlib
\
--enable-zip
\
--enable-inline-optimization
\
--disable-debug
\
--disable-rpath
\
--enable-shared
\
--enable-xml
\
--enable-bcmath
\
--enable-shmop
\
--enable-sysvsem
\
--enable-mbregex
\
--enable-mbstring
\
--enable-ftp
\
--enable-gd-native-ttf
\
--enable-pcntl
\
--enable-sockets
\
--with-xmlrpc
\
--enable-soap
\
--without-pear
\
--with-gettext
\
--enable-session
\
--with-curl
\
--with-jpeg-dir
\
--with-freetype-dir
\
--enable-opcache
\
--enable-fpm
\
--disable-cgi
\
--with-fpm-user=nginx
\
--with-fpm-group=nginx
\
--without-gdbm
\
--disable-fileinfo
參數說明
prefix
PHP7安裝的根目錄
with-config-file-path
PHP7的配置文件目錄
執行完上面的配置命令後的結果如下圖所示:
執行上面命令的過程中會遇到一些依賴缺少的提示,下面列出我遇到的依賴問題:
錯誤:
configure:
error:
xml2-config
not
found.
Please
check
your
libxml2
installation.
解決:
zypper
install
libxml2-devel
錯誤:
configure:
WARNING:
unrecognized
options:
--with-mysql
解決:
取消這個選項,這個選項是不存在的
錯誤:
configure:
error:
jpeglib.h
not
found.
解決:
zypper
install
libjpeg-devel
錯誤:
configure:
error:
mcrypt.h
not
found.
Please
reinstall
libmcrypt.
解決:
zypper
install
libmcrypt-devel
錯誤:
checking
for
recode
support...
yes
configure:
error:
Can
not
find
recode.h
anywhere
under
/usr
/usr/local
/usr
/opt.
解決:
zypper
install
librecode-devel
總的來說,在配置的時候遇到沒有的就打開Yast搜一下,如果有的話就安裝,然後重新編譯看還需要那些,如果在Yast找不到,那就上網找一下Google。
編譯和安裝PHP7
make
&&
make
install
其中,make之後可以選擇make
test。只是一個可選步驟,不執行不知道有什麼問題,不過筆者暫時還沒遇到。
查看安裝成功後的PHP7目錄
編譯安裝成功後,查看PHP7的安裝目錄`ls
/usr/local/php7`:
設置PHP7的配置文件
cp
/usr/local/src/php7/php.ini-proction
/usr/local/php7/etc/php.ini
cp
/usr/local/src/sapi/fpm/init.d.php-fpm
/etc/init.d/php-fpm
cp
/usr/local/php7/etc/php-fpm.conf.default
/usr/local/php7/etc/php-fpm.conf
cp
/usr/local/php7/etc/php-fpm.d/www.conf.default
/usr/local/php7/etc/php-fpm.d/www.conf
設置環境變數
在/etc/profile
文件的最後一行加上
export
PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH
然後執行
source
/etc/profile
設置PHP日誌目錄和php-fpm進程文件(php-fpm.sock)目錄
mkdir
-p
/var/log/php-fpm/
&&
mkdir
-p
/var/run/php-fpm
&&
cd
/var/run/
&&
chown
-R
nginx:nginx
php-fpm
將PHP設置為開機啟動
chmod
+x
/etc/init.d/php-fpm
chkconfig
php-fpm
on
可以用chkconfig命令查看開機啟動服務列表。
啟動PHP服務
service
php-fpm
start
通過ps
aux
|
grep
'php'查看PHP是否啟動成功
至此,PHP7就安裝成功了,你也開始使用PHP7吧!

⑶ 如何編譯安裝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編譯環境

PHP編譯環境配置:
打開editplus,點擊菜單欄「工具」,選擇下拉菜單的「念襪旅配置用戶工具」,進入配置頁面;
點擊"添加工具" ,選擇"應用程序";
在輸入框中輸入
菜單文字:php
命令:<你本機php安裝目錄>\php.exe (例:D:\Program Files\PHP\php.exe)
參數:$(FilePath)
初始目錄 :$(FileDir)
動作選」捕捉輸出「
完仔凳成上述步驟後在d盤新建一個文件 hello.php
輸入代碼
<?php
echo "Hello,World!";
?>
點擊"工具"---"php" (我自己配置的快捷鍵是ctrl + 2,你也可以自由設置),在下方輸出框查看運行結果,顯示hello,world;
到此,整個php 編譯好純環境配置完畢。

⑸ Linux 下編譯安裝 PHP 5.6

如果你的 Web Server 使用的 Apache 請添加類似:--with-apxs2=/usr/local/apache-xx/bin/apxs
參數。
關於 mysqlnd
請查看 什麼是 PHP 的 MySQL Native 驅動? 或查看 MySQL 官方介紹: MySQL native driver for PHP , 或 Installation on Unix 。
PHP 5.6 內建了 phpdbg 互動式調試器,通過 --enable-phpdbg
開啟,會在 PREFIX/bin
目錄下產生一個 phpdbg 命令,感興趣的可以試一下。
更多編譯參數請使用 ./configure --help
查看。

如果想重新安裝:

配置文蠢余件 :

php-fpm 服務

啟動 php-fpm

php-fpm 可用參數 start|stop|force-quit|restart|reload|status
添加 PHP 命令到鍵檔拍環境變數
編輯 ~/.bash_profile ,將:

使 PHP 環境變數生效:

查看看稿羨 PHP 版本

⑹ Ubuntu12下編譯安裝PHP5.3開發環境

最近項目遇到一個坑爹的事情,一個源碼必須使用PHP5.3,但是現在Ubuntu上自帶的版本是5.4,降級之後會出各種奇怪的問題,最後沒辦法,只能一步步在Ubuntu12.04server上自己編譯PHP5.3,比繁瑣,共享之。
安裝Apache2.2
復制代碼
代碼如下:
sudo
apt-get
install
apache2
-y
然後安裝MySQL5.5
復制代碼
代碼如下:
sudo
apt-get
install
mysql-server-5.5
-y
接著就是編譯依賴環境:
復制代碼
代碼如下:
sudo
apt-get
install
gcc
g++
autoconf
build-essential
-y

相關的lib支持庫:
復制代碼
代碼如下:
sudo
apt-get
install
libxml2
libxml2-dev
libevent-1.4-2
libevent-dev
bzip2
libbz2-dev
libcurl3-gnutls
libcurl4-gnutls-dev
libpng12-0
libpng12-dev
libjpeg62
libjpeg62-dev
libfreetype6
libfreetype6-dev
libmcrypt4
libmcrypt-dev
zlib1g-dev
libtidy-dev
libmysqlclient-dev
-y
安裝:
復制代碼
代碼如下:
./configure
--prefix=/usr/local/php
--with-mcrypt
--with-gettext
--with-mysql
--with-gd
--with-jpeg-dir
--with-png-dir
--with-curl
--with-freetype-dir
--enable-gd-native-ttf
--enable-mbstring
--enable-sockets
--with-pdo-mysql
--enable-fpm
--with-zlib
--enable-zip
--with-bz2
--enable-bcmath
--with-tidy
--with-fpm-user=daemon
--with-fpm-group=daemon
sudo
make
sudo
make
install
然後安裝cli和dev:
復制代碼
代碼如下:
sudo
apt-get
install
php5-cli
php5-dev
最後開啟Apache2支持:
復制代碼
代碼如下:
sudo
apt-get
install
libapache2-mod-php5
最後就大功告成了~
以上所述就是本文的全部內容了,希望大家能夠喜歡。
請您花一點時間將文章分享給您的朋友或者留下評論。我們將會由衷感謝您的支持!

⑺ 請教PHP的編譯安裝問題

不需要什麼處理,你在apache的web目錄裡面建立一個php文件,內容如下
<?php

phpinfo();

?>
然後通過瀏覽器訪問這個php文件,可以看到數納你當初凱燃編譯php的參數薯孫沒。

⑻ PHP8、FPM及部分擴展編譯安裝

本著能懶則懶的原則,之前我都是寶塔、lnmp腳本等「一鍵」
再不濟也得來個 apt/yum install php
什麼?源碼 make install ? 編譯參數一言難盡,勸退勸退...我只是想要個開發環境而已

沒關系!我來整理一下常用模塊以及參數!環境為 ubuntu/debian

檢查壓縮包的完整性,與官網 sha256比較

安裝以下包

官方的拓展分類
根據需要的模塊添加其後對應的參數

包含常用模塊,可以直接使用

編譯並安裝後
復制 php.ini 到默認目錄 /usr/local/lib/

檢查 php安裝是否正確

復制 fpm 配置文件、運行服務文件
www.conf php-fpm.conf php-fpm.service

修改 fpm 用戶和組,默認為nobody

修改服務文件,取消只讀 不然日誌不能讀寫無法啟動

設置自啟動並運行

本地起服務測試

No package 'libxml-2.0' found

No package 『sqlite3『 found

configure: WARNING: unrecognized options: –with-gd

No package 'zlib' found

No package 'libpng' found

No package 'oniguruma' found

No package 'libcurl' found

No package 'libsystemd' found

No package 'openssl' found

No package 'libzip' found

⑼ 求助 如何在ubuntu14 中編譯安裝php5.3

更新源列表
打開"終端窗口",輸入"sudo apt-get update"-->回車-->"輸入root用戶的密碼"-->回車,就可以了。如果不運行該命令,直接安裝php,會出現"有 幾個軟體包無法下載,您可以運行apt-get update------"的錯誤提示,導致無法安裝。

安裝php
打開"終端窗口",輸入"sudo apt-get install php5"-->回車-->輸入"y"-->回車-->安裝完成。

讓Apache支持php
打開"終端窗口",輸入"sudo apt-get install libapache2-mod-php5"-->回車-->安裝完成。

安裝php5-gd模塊
打開"終端窗口",輸入"sudo apt-get install php5-gd"-->回車-->安裝完成。

使用gedit在"/var/www"下創建info.php文件
打開"終端窗口",輸入"sudo gedit /var/www/info.php"-->回車-->在編輯器中輸入"<?php phpinfo(); ?>"-->保存,文件創建成功。

測試Apache是否能解析php網頁
在火狐瀏覽器中輸入"127.0.0.1\info.php"-->出現了php的版本信息頁面,說明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壁紙源碼 發布:2025-07-08 03:04:26 瀏覽:319
android應用層 發布:2025-07-08 02:42:32 瀏覽:301
大唐存儲銷量 發布:2025-07-08 02:41:11 瀏覽:582
腳本怎麼打開 發布:2025-07-08 02:41:06 瀏覽:822
貴州電信iPtv升級伺服器地址 發布:2025-07-08 02:38:48 瀏覽:412
電腦怎麼鏈接本地伺服器 發布:2025-07-08 02:34:22 瀏覽:147
android調試webview 發布:2025-07-08 02:26:28 瀏覽:358
壓縮袋鞋子 發布:2025-07-08 02:21:30 瀏覽:752
為什麼安卓打吃雞感覺有延遲 發布:2025-07-08 02:09:32 瀏覽:168
課題組伺服器如何使用 發布:2025-07-08 02:09:27 瀏覽:44