當前位置:首頁 » 編程軟體 » linux重新編譯php

linux重新編譯php

發布時間: 2022-09-05 17:19:11

A. linux下安裝php編譯參數

在Linux下安裝PHP,源代碼方式安裝,總需要配置很多參數。這里列出常用配置參數,並詳細用中文解釋說明了。給大家一些參考./configure
--prefix=/usr/local/php
php
安裝目錄
--with-apxs2=/usr/local/apache/bin/apxs
--with-config-file-path=/usr/local/php/etc
指定php.ini位置
--with-Mysql=/usr/local/mysql
mysql安裝目錄,對mysql的支持
--with-mysqli=/usr/local/mysql/bin/mysql_config
mysqli文件目錄,優化支持
--enable-safe-mode
打開安全模式
--enable-ftp
打開ftp的支持
--enable-zip
打開對zip的支持
--with-bz2
打開對bz2文件的支持
--with-jpeg-dir
打開對jpeg圖片的支持
--with-png-dir
打開對png圖片的支持
--with-freetype-dir
打開對freetype字體庫的支持
--without-iconv
關閉iconv函數,種字元集間的轉換
--with-libXML-dir
打開libxml2庫的支持
--with-xmlrpc
打開xml-rpc的c語言
--with-zlib-dir
打開zlib庫的支持
--with-gd
打開gd庫的支持
--enable-gd-native-ttf
支持TrueType字元串函數庫
--with-curl
打開curl瀏覽工具的支持
--with-curlwrappers
運用curl工具打開url流
--with-ttf
打開freetype1.*的支持,可以不加了
--with-xsl
打開XSLT
文件支持,擴展了libxml2庫
,需要libxslt軟體
--with-gettext
打開gnu
的gettext
支持,編碼庫用到
--with-pear
打開pear命令的支持,php擴展用的
--enable-calendar
打開日歷擴展功能
--enable-mbstring
多位元組,字元串的支持
--enable-bcmath
打開圖片大小調整,用到zabbix監控的時候用到了這個模塊
--enable-sockets
打開
sockets
支持
--enable-exif
圖片的元數據支持
--enable-magic-quotes
魔術引用的支持
--disable-rpath
關閉額外的運行庫文件
--disable-debug
關閉調試模式
--with-mime-magic=/usr/share/file/magic.mime
魔術頭文件位置
CGI方式安裝才用的參數
--enable-fpm
打上php-fpm
補丁後才有這個參數,cgi方式安裝的啟動程序
--enable-fastcgi
支持fastcgi方式啟動php
--enable-force-cgi-redirect
同上
,幫助里沒有解釋
--with-ncurses
支持ncurses
屏幕繪制以及基於文本終端的圖形互動功能的動態庫
--enable-pcntl
freeTDS需要用到的,可能是鏈接mssql
才用到
mhash和mcrypt演算法的擴展
--with-mcrypt
演算法
--with-mhash
演算法
--with-gmp
--enable-inline-optimization
--with-openssl
openssl的支持,加密傳輸時用到的
--enable-dbase
--with-pcre-dir=/usr/local/bin/pcre-config
perl的正則庫案安裝位置
--disable-dmalloc
--with-gdbm
dba的gdbm支持
--enable-sigchild
--enable-sysvsem
--enable-sysvshm
--enable-zend-multibyte
支持zend的多位元組
--enable-mbregex
--enable-wddx
--enable-shmop
--enable-soap

B. 我在linux下安裝php5.3.5時 編譯時出錯, 具體錯誤如下

你的LINUX系統缺少這個libltdl.so.3的模塊呀。
插入安裝盤,然後進入RPM包的目錄裡面執行
rpm -Uvh libltdl*
如果提示100%安裝完成。那就可以啦。
然後,先刪除原來的PHP,再編譯安裝PHP。
希望能幫到你,祝你好運啦。

C. linux里怎麼升級php版本

1:進入終端後查看PHP版本
php -v
輸出可能如下:
PHP 5.4.35 (cli) (built: Nov 14 2014 07:04:10) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2015, by Zend Technologies
2:執行下面的命令升級軟體倉庫
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
3:執行下面的命令刪除php
yum remove php-common
然後像安裝那樣問你是否繼續的,輸入yes即可
4:安裝php 5.6版本(php56w-devel這個不是必需的)
yum install -y php56w php56w-opcache php56w-xml php56w-mcrypt php56w-gd php56w-devel php56w-MySQL php56w-intl php56w-mbstring
5:重啟httpd
service httpd restart
查看最新的版本
php -v
現在應該是5.6了!

D. linux編譯安裝php,怎麼替換已有版本

目錄名換一下,然後幾個鏈接指向新的目錄下。 一般/usr/bin/目錄下
例子:
/usr/bin/php -> /usr/local/php/bin/php
/usr/bin/php-cgi -> /usr/local/php/bin/php-cgi
/usr/bin/php-config -> /usr/local/php/bin/php-config
/usr/bin/phpize -> /usr/local/php/bin/phpize

E. Linux CentOS下編譯安裝PHP5.3.x卡在Generating phar.php

壓縮
a) 下載的php壓縮包,並進入解壓後目錄內運行如下命令:
b) ./configure--prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs--with-config-file-path=/usr/local/lib --enable-track-vars --with-xml
c) make
d) make install

一共就這么四個步驟,要不你重新來吧
看你那屏幕截圖,貌似是亂碼的趕腳,是不是環境比那輛沒有設置正確

F. linux已經安裝openssl,如何重新編譯php支持openssl模塊

下載php的源代碼,執行三步安裝就行了:
./configure
make && sudo make install
sudo make clean
就可以了,然後編輯php.ini文件加入模塊支持:
extensions=openssl.so
好了。大工告成~~~

G. 如何在linux下編譯php文件

在 Ubuntu 下寫過一年代碼,之間折騰過各種 Linux Distribution,最後還是放棄了(詳情見 我的Linux發行版/桌面環境選擇之路 ),Linux 桌面太坑,還是留在伺服器端吧。

現在用的是 Win8.1 + Ubuntu Server 14.04 (跑在 VM 里)。
平時用 Win 下的 PHP 環境足矣,實在不行就用後台的方式開啟 VM,用 Xshell 登錄進去操作。
這樣,就實現了在 Windows 下寫代碼,在 Linux 下運行。(SSD表示毫無壓力)

最關鍵的是,不耽誤你打 Dota !

其實作為一個 PHP程序員,我覺得更重要的是 PHP 開發工具的選擇(用 VIM 的人請無視)。我現在用的是 PHPStorm。(JetBrains, 業界良心!)
你也可以去後盾人那看看.那有很多教學視頻.定能幫你解答.

H. linux下編譯安裝php-5.2.*.tar.gz後php.ini的默認存放路徑是哪裡

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

I. linux時間怎麼用php轉碼

1、下載libiconv函數庫http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz;
2、解壓縮tar -zxvf libiconv-1.9.2.tar.gz;
3、安裝libiconv

復制代碼代碼如下:

#configure --prefix=/usr/local/iconv
#make
#make install

4、重新編譯php 增加編譯參數--with-iconv=/usr/local/iconv
windows下
最近在做一個小偷程序,需要用到iconv函數把抓取來過的utf-8編碼的頁面轉成gb2312, 發現只有用iconv函數把抓取過來的數據一轉碼數據就會無緣無故的少一些。 讓我郁悶了好一會兒,去網上一查資料才知道這是iconv函數的一個bug。iconv在轉換字元"—"到gb2312時會出錯
解決方法很簡單,就是在需要轉成的編碼後加 "//IGNORE" 也就是iconv函數第二個參數後.如下:
以下為引用的內容:
iconv("UTF-8","GB2312//IGNORE",$data)
ignore的意思是忽略轉換時的錯誤,如果沒有ignore參數,所有該字元後面的字元串都無法被保存。

iconv不是php的默認函數,也是默認安裝的模塊。需要安裝才能用的。
如果是windows2000+php,你可以修改php.ini文件,將extension=php_iconv.dll前的";"去掉,同時你要你的原php安裝文件下的iconv.dll到你的winnt/system32下(如果你的dll指向的是這個目錄)
在linux環境下,用靜態安裝的方式,在configure時加多一項 --with-iconv就可以了,phpinfo看得到iconv的項。(Linux7.3+Apache4.06+php4.3.2),

下載:ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.8.tar.gz
安裝:

復制代碼代碼如下:

#cp libiconv-1.8.tar.gz /usr/local/src
#tar zxvf lib*
#./configure --prefix=/usr/local/libiconv
#make
#make install
編譯php
#./configure --prefix=/usr/local/php4.3.2 --with-iconv=/usr/local/libiconv/

使用的簡單例子:

<?php
echo iconv("gb2312","ISO-8859-1","我們");

PHP中的mb_convert_encoding與iconv函數介紹

mb_convert_encoding這個函數是用來轉換編碼的。原來一直對程序編碼這一概念不理解,不過現在好像有點開竅了。
不過英文一般不會存在編碼問題,只有中文數據才會有這個問題。比如你用Zend Studio或Editplus寫程序時,用的是gbk編碼,如果數據需要入資料庫,而資料庫的編碼為utf8時,這時就要把數據進行編碼轉換,不然進到資料庫就會變成亂碼。

mb_convert_encoding的用法見官方:
http://cn.php.net/manual/zh/function.mb-convert-encoding.php

做一個GBK To UTF-8

復制代碼代碼如下:

< ?php
header("content-Type: text/html; charset=Utf-8");
echo mb_convert_encoding("你系我的友仔", "UTF-8", "GBK");
?>

再來個GB2312 To Big5

復制代碼代碼如下:

< ?php
header("content-Type: text/html; charset=big5");
echo mb_convert_encoding("你是我的朋友", "big5", "GB2312");
?>

不過要使用上面的函數需要安裝但是需要先enable mbstring 擴展庫。

PHP中的另外一個函數iconv也是用來轉換字元串編碼的,與上函數功能相似。

下面還有一些詳細的例子:
iconv — Convert string to requested character encoding
(PHP 4 >= 4.0.5, PHP 5)
mb_convert_encoding — Convert character encoding
(PHP 4 >= 4.0.6, PHP 5)

用法:
string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding] )
需要先enable mbstring 擴展庫,在 php.ini里將; extension=php_mbstring.dll 前面的 ; 去掉
mb_convert_encoding 可以指定多種輸入編碼,它會根據內容自動識別,但是執行效率比iconv差太多;

string iconv ( string in_charset, string out_charset, string str )
注意:第二個參數,除了可以指定要轉化到的編碼以外,還可以增加兩個後綴://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 會自動將不能直接轉化的字元變成一個或多個近似的字元,//IGNORE 會忽略掉不能轉化的字元,而默認效果是從第一個非法字元截斷。
Returns the converted string or FALSE on failure.

使用:

發現iconv在轉換字元」—」到gb2312時會出錯,如果沒有ignore參數,所有該字元後面的字元串都無法被保存。不管怎麼樣,這個」—」都無法轉換成功,無法輸出。 另外mb_convert_encoding沒有這個bug.

一般情況下用 iconv,只有當遇到無法確定原編碼是何種編碼,或者iconv轉化後無法正常顯示時才用mb_convert_encoding 函數.

from_encoding is specified by character code name before conversion. it can be array or string - comma separated enumerated list. If it is not specified, the internal encoding will be used.
/* Auto detect encoding from JIS, eucjp-win, sjis-win, then convert str to UCS-2LE */
$str = mb_convert_encoding($str, "UCS-2LE」, "JIS, eucjp-win, sjis-win」);
/* "auto」 is expanded to "ASCII,JIS,UTF-8,EUC-JP,SJIS」 */
$str = mb_convert_encoding($str, "EUC-JP」, "auto」);

例子:

復制代碼代碼如下:

$content = iconv(」GBK」, "UTF-8", $content);
$content = mb_convert_encoding($content, "UTF-8", "GBK」);

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

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

熱點內容
怎麼改密碼鎖 發布:2025-02-13 23:47:39 瀏覽:852
androidbitmap獲取大小 發布:2025-02-13 23:47:38 瀏覽:559
怎麼把升級鴻蒙系統變回安卓 發布:2025-02-13 23:36:07 瀏覽:595
偶校驗c語言 發布:2025-02-13 23:22:52 瀏覽:937
芒果如何提取離線緩存視頻 發布:2025-02-13 23:16:12 瀏覽:793
王者榮耀微信區安卓哪裡分低 發布:2025-02-13 23:14:10 瀏覽:658
安裝linuxvmwaretools 發布:2025-02-13 22:56:02 瀏覽:8
浪潮伺服器如何引導系統安裝光碟 發布:2025-02-13 22:56:02 瀏覽:112
java多線程的同步 發布:2025-02-13 22:46:15 瀏覽:920
軟體使用許可權里存儲關閉還是打開 發布:2025-02-13 22:46:11 瀏覽:382