當前位置:首頁 » 編程語言 » php編譯安裝參數

php編譯安裝參數

發布時間: 2025-06-01 18:23:34

⑴ 求助 如何在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的時候,我們並不知道需要哪些擴展,所以只有等到我們真正用到的時候才想辦法去安裝。
安裝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提示出錯找不到libc-client.無法編譯PHP怎麼辦

I. 安裝devel庫
yum install pam-devel libc-client libc-client-devel -y
如果使用了yum安裝了libc-client,那麼在以後編譯參數--with-imap=/usr/local/php-imap中的路徑應該刪除,即--with-imap。
如果這樣還不能解決,那麼就需要手動編譯imap2007f了!
II. 手動編譯imap2007f
腳本取自 http://forum.directadmin.com/showthread.php?t=45434
在/usr/src目錄下運行以下腳本,將會在/usr/local/php-imap目錄下生成imap需要的庫
#!/bin/sh
# Script for PHP-IMAP installation. 0.1b
# Written by Martynas Bendorius (smtalk)
CWD=`pwd`
OS=`uname`
#Is it a 64-bit OS?
B64=0
B64COUNT=`uname -m | grep -c 64`
if [ "$B64COUNT" -eq 1 ]; then
B64=1
LD_LIBRARY_PATH=/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
fi
if [ ! -e /usr/include/krb5.h ] && [ -e /etc/redhat-release ]; then
echo "Installing krb5-devel"
yum -y install krb5-devel
fi
VERSION=2007f
PROTOCOL=ftp
URL="${PROTOCOL}://ftp.cac.washington.e/imap/imap-${VERSION}.tar.Z"
FILENAME=imap-${VERSION}
TARBALL=${FILENAME}.tar.Z
echo "Downloading ${TARBALL}..."
wget -O ${TARBALL} ${URL}
tar xzf ${TARBALL}
cd ${FILENAME}
echo "Installing ${FILENAME}..."
if [ ${OS} = "FreeBSD" ]; then
if [ ${B64} -eq 0 ]; then
make bsf
else
make bsf EXTRACFLAGS=-fPIC
fi
else
perl -pi -e 's#SSLDIR=/usr/local/ssl#SSLDIR=/etc/pki/tls#' src/osdep/unix/Makefile
perl -pi -e 's#SSLINCLUDE=\$\(SSLDIR\)/include#SSLINCLUDE=/usr/include/openssl#' src/osdep/unix/Makefile
perl -pi -e 's#SSLLIB=\$\(SSLDIR\)/lib#SSLLIB=/usr/lib/openssl#' src/osdep/unix/Makefile
if [ ${B64} -eq 0 ]; then
make slx
else
make slx EXTRACFLAGS=-fPIC
fi
fi
echo "Copying files to /usr/local/php-imap"
mkdir -p /usr/local/php-imap/include
mkdir -p /usr/local/php-imap/lib
chmod -R 077 /usr/local/php-imap
cp -f c-client/*.h /usr/local/php-imap/include/
cp -f c-client/*.c /usr/local/php-imap/lib/
cp -f c-client/c-client.a /usr/local/php-imap/lib/libc-client.a
cd ..
rm -rf ${FILENAME}
if [ -d /usr/lib/x86_64-linux-gnu ] && [ ! -d /usr/kerberos/lib ]; then
mkdir -p /usr/kerberos
ln -s /usr/lib/x86_64-linux-gnu /usr/kerberos/lib
fi

exit 0;
III. 開始編譯
下面是編譯PHP的參數,如果出現問題,請參考編譯PHP5.6 和 PHP編譯錯誤的解決辦法。
./configure --prefix=/usr/local/php --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-openssl --enable-ftp --with-imap=/usr/local/php-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --with-fpm-user=www --with-fpm-group=www --disable-fileinfo
IV. 其他問題
在本次編譯中,老高又遇到了幾個怪事
set --enable-opcache=no
configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no
這個問題還是庫文件的鏈接問題
解決:
echo /usr/local/lib > /etc/ld.so.conf.d/local.conf
ldconfig -v
讓編譯的PHP支持memcache

⑷ centos系統編譯安裝nginx+php環境另加獨立mysql教程

前端(nginx+php)ip:192.168.10.8
後端(獨立mysql)ip:192.168.10.5
軟體版本:libiconv-1.14.tar.gz mysql-5.1.63.tar.gz php-5.2.17.tar.gz php-5.2.17-fpm-0.5.14.diff.gz php-5.2.17-max-input-vars.patch
1.先在後端安裝mysql
在192.168.10.5上只安裝mysql.方法可以去看centos編譯安裝nginx+php-fpm+mysql里的mysql安裝.
2.在前端安裝php-fpm nginx和mysql-client
這里只說下安裝mysql-client和php的編譯安裝.
                代碼如下    tar zxf mysql-5.1.63.tar.gz cd mysql-5.1.63

./configure --prefix=/usr/local/mysql --without-server            
這里只需要加上--without-server就可以讓mysql變成客戶端了.
如果出現/bin/rm: cannot remove `libtoolt': No such file or directory,可以去看這篇文章Mysql安裝:/bin/rm: cannot remove `libtoolt': No such file or directory.
沒有問題後,執行命令:
                代碼如下    make make install            
編譯php的時候只需要加上--with-mysql=mysql客戶端安裝目錄就可以了.這里我給出編譯參數:
                代碼如下    ./configure --prefix=/usr/local/php --enable-fastcgi --enable-fpm --with-fpm-log=/var/log/php-fpm.log \

--with-fpm-conf=/etc/php-fpm.conf --with-fpm-pid=/var/run/php-fpm.pid --with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --enable-bcmath --with-bz2 --with-curl \
--enable-ftp --with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-gettext --with-mhash \
--enable-mbstring --with-mcrypt --enable-soap --enable-zip --with-iconv=/usr/local/libiconv \
--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --without-pear            
nginx的編譯沒有什麼好說的了,我前面centos編譯安裝nginx+php-fpm+mysql這篇文章里已經有講過了.
3.進行測試驗證
當上面的一切都安裝好之後,在後端的mysql里給出遠程許可權,如下:
                代碼如下    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';            
然後iptables上只允許192.168.10.8訪問mysql埠,其他都拒絕.如:
                代碼如下    iptables -A RH-Firewall-1-INPUT -s 192.168.10.8 -p tcp -m tcp --dport 3306 -j ACCEPT

iptables -A RH-Firewall-1-INPUT -p tcp --dport 3306 -j DROP
services iptables save
services iptables restart            
然後在192.168.10.8上進行測試,是否可以遠程連上mysql
mysql -h 192.168.10.5 -u root -p
如果可以連上,就繼續下一步的操作,不能連上的話請檢查上面是否有錯誤的地方.
現在我們加個php頁面來測試php是否可以連上mysql,腳本如下:
                代碼如下    ?php

$link=mysql_connect("192.168.10.5","root","123456");
if(!$link) echo "bad!" ;
else echo "ok!" ;
mysql_close();
?            
成功的話是ok!的輸出,失敗的話是bad!的輸出,我這里是成功的
mysql 5.5.x的只安裝客戶端.
需要的軟體:libiconv-1.14.tar.gz mysql-5.5.25a.tar.gz
1.安裝前的准備
安裝前的准備,可以去看這篇文章centos編譯安裝nginx+php-fpm+mysql
2.安裝libiconv
                代碼如下    ./configure --prefix=/usr/local/libiconv

make make install            
3.只安裝mysql客戶端
                代碼如下    cmake . make mysqlclient libmysql

make install            
這樣就只安裝了mysql客戶端,然後可以輸入whereis mysql來查看mysql安裝位置.
whereis mysql
好了,可以看到跟yum安裝的差不多.
4.安裝php
以前mysql是5.1的時候,只需要加上--with-mysql=mysql客戶端安裝目錄就可以了,但在mysql 5.5.x這個參數就要改變下了,下面是php的編譯參數:
                代碼如下    ./configure --prefix=/usr/local/php --enable-fastcgi --enable-fpm --with-fpm-log=/var/log/php-fpm.log --with-fpm-conf=/etc/php-fpm.conf \

--with-fpm-pid=/var/run/php-fpm.pid --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d \
--with-openssl --with-zlib --enable-bcmath --with-bz2 --with-curl --enable-ftp \
--with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-gettext --with-mhash \
--enable-mbstring --with-mcrypt --enable-soap --enable-zip --with-iconv=/usr/local/libiconv \
--with-mysql=shared,/usr --with-mysqli=shared,/usr/bin/mysql_config            
大家可以看最後一行,--with-mysql=shared,/usr --with-mysqli=shared,/usr/bin/mysql_config這就是跟以前不同的行.好了,剩下的就不寫了

⑸ php-8.3.3 源碼編譯安裝以及擴展 redis 、gd和 sodium安裝

PHP 8.3.3 源碼編譯安裝及擴展 Redis、GD 和 Sodium 的步驟如下

一、源碼編譯安裝 PHP 8.3.3

  1. 系統准備

    • 確認系統版本,並進行軟體包更新。
    • 安裝必要的依賴包,如 gcc、make、autoconf 等編譯工具和庫。
  2. 創建 www 用戶

    • 使用 useradd www 命令創建用於運行 PHP 進程的 www 用戶。
  3. 下載並解壓 PHP 源碼

    • 從 PHP 官網下載 PHP 8.3.3 的源碼包。
    • 使用 tar zxvf php8.3.3.tar.gz 命令解壓源碼包。
  4. 運行 configure 預編譯

    • 進入解壓後的 PHP 源碼目錄。
    • 運行 ./configure prefix=/usr/local/php enablefpm withmysqli withpdomysql 等配置選項。
    • 注意排查依賴問題,如缺少的庫文件或頭文件,可以通過包管理器安裝或下載源碼編譯安裝。
  5. 編譯與安裝

    • 運行 make 命令進行編譯。
    • 運行 make install 命令進行安裝。
  6. 創建軟鏈接與優化配置

    • 創建 PHP 可執行文件的軟鏈接,如 ln s /usr/local/php/bin/php /usr/bin/php。
    • 優化 PHP 配置文件 php.ini,根據需求調整設置。
  7. 創建 phpfpm 進程管理腳本

    • 復制 PHP 源碼包中的 sapi/fpm/init.d.phpfpm 腳本到 /etc/init.d/ 目錄,並命名為 phpfpm。
    • 設置腳本為可執行,並添加到系統服務中。

二、安裝 PHP 擴展 Redis、GD 和 Sodium

  1. 安裝 Redis 擴展

    • 下載 Redis 擴展的源碼包或從 PECL 安裝。
    • 使用 phpize 命令准備編譯環境。
    • 運行 ./configure withphpconfig=/usr/local/php/bin/phpconfig 命令配置擴展。
    • 運行 make 和 make install 命令編譯並安裝擴展。
    • 在 php.ini 文件中添加 extension=redis.so。
  2. 安裝 GD 擴展

    • 確保系統已安裝 GD 庫和相關依賴。
    • 在編譯 PHP 時,通過 withgd 選項啟用 GD 擴展。
    • 如需額外功能,需確保安裝了相應的庫文件。
    • 在 php.ini 文件中確認或添加 extension=gd.so。
  3. 安裝 Sodium 擴展

    • Sodium 擴展通常隨 PHP 源碼一起提供,只需在編譯 PHP 時啟用。
    • 使用 enablesodium 選項編譯 PHP。
    • 在 php.ini 文件中通常無需手動添加 Sodium 擴展,因為它默認啟用。

三、驗證安裝

  • 運行 php m 命令查看已安裝的 PHP 擴展列表,確保 Redis、GD 和 Sodium 擴展已正確安裝。
  • 編寫簡單的 PHP 腳本測試各擴展的功能是否正常。

通過以上步驟,您可以在 Linux 系統上成功安裝 PHP 8.3.3 並啟用 Redis、GD 和 Sodium 擴展。

⑹ 怎樣重新編譯php呢

要重新編譯PHP並集成libiconv函數庫,首先需下載libiconv源碼。

下載地址:http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz

解壓下載的tar包:

tar -zxvf libiconv-1.9.2.tar.gz

接下來,安裝libiconv:

配置安裝目錄:# configure --prefix=/usr/local/iconv

編譯:# make

安裝:# make install

完成libiconv的安裝後,進行PHP的重新編譯。在編譯PHP時,需要指定--with-iconv=/usr/local/iconv參數。

對於Windows環境下的操作,如在Windows 2000下使用PHP,可以通過修改php.ini文件來啟用libiconv。具體操作是去除extension=php_iconv.dll前的分號,並將原php安裝文件夾下的iconv.dll復制到winnt/system32目錄下。

在Linux環境下,如果使用靜態安裝方式,可以通過在configure命令中添加--with-iconv=/usr/local/libiconv參數來啟用libiconv。使用phpinfo查看是否已啟用。

下載libiconv源碼:ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.8.tar.gz

解壓、配置、編譯、安裝步驟與之前相同。

重新編譯PHP後,如果在使用iconv函數時遇到bug,例如在轉換字元「—」到GB2312編碼時出現問題,可以通過在iconv函數的第二個參數後添加「//IGNORE」來解決。此參數表示忽略轉換時的錯誤,避免所有該字元後面的字元串無法被保存。

在需要轉換編碼的場景中,可以使用iconv函數實現不同字元集間的轉換。需要注意的是,iconv並非PHP的默認函數,需要單獨安裝。在某些環境下,如Windows 2000+php,可以通過修改php.ini文件來啟用。在Linux環境下,通常使用靜態安裝方式即可。

PHP中另一個與iconv功能相似的函數是mbstring擴展庫中的函數,用於實現字元串編碼的轉換。

⑺ 編譯安裝php時出錯configure: error: build test failed.

你先確定一下你./configure時有沒有出錯提示?並不是說./configure完就說行了,因為它的參數因環境不同而異!如果執行完沒錯就應該sudo
make是沒什麼問題,就算是有也應該是依懶包看出錯提示,你的是GD庫,你編譯gd庫時參數如何?編譯安裝正常嗎?
情況好多,我用UBUNTU編譯時也是拆騰好久才編好,也好不經過這樣拆騰也不知道編譯時的要點
記得./configure
--help看一下幫助
所以我認為先重編一下你的GD庫,還有你編譯PHP時注意參數的正確如
--with-gd=/opt/gd
具體實際安裝路徑

熱點內容
寶馬x4什麼配置劃算 發布:2025-06-03 07:40:44 瀏覽:508
騰訊雲備份伺服器 發布:2025-06-03 07:30:35 瀏覽:829
手機小米路由存儲 發布:2025-06-03 07:22:25 瀏覽:794
android使用方法 發布:2025-06-03 07:16:39 瀏覽:461
浙江伺服器託管雲主機 發布:2025-06-03 07:05:41 瀏覽:927
社保卡開通存儲業務 發布:2025-06-03 07:04:06 瀏覽:428
創造與魔法如何快速擠進伺服器 發布:2025-06-03 06:42:57 瀏覽:955
訪問伺服器很慢 發布:2025-06-03 06:31:27 瀏覽:851
更改桌面緩存位置 發布:2025-06-03 06:30:58 瀏覽:240
168傳奇版226解壓密碼 發布:2025-06-03 06:29:33 瀏覽:527