CentOS5 5上編譯安裝 PHP 5 3 6

2021-08-25 18:56:36 字數 3993 閱讀 5528

centos 5.6一直沒發布,centos 5.5的php5.1.6不支援json/hash,因為正研究postfix+dovecot郵件系統,webmail採用的 roundcube   新版本(v0.5)要求php版本不小於5.2.1,於是決定編譯安裝最新版php。php前幾天被入侵據說v5.3.6**被汙染,不過用來做研究測試應該沒問題。

配置安裝引數

./configure --build=i686-redhat-linux-gnu --host=i686-redhat-linux-gnu \

--target=i686-redhat-linux-gnu --with-apxs2=/usr/sbin/apxs \

--prefix=/usr/local --exec-prefix=/usr/local --with-exec-dir=/usr/local/bin \

--sysconfdir=/etc --libdir=/usr/local/lib/php --with-libdir=lib \

--sbindir=/usr/local/sbin --sharedstatedir=/usr/com --datadir=/usr/local/share \

--includedir=/usr/local/include --libexecdir=/usr/local/libexec \

--localstatedir=/var \

--mandir=/usr/local/share/man --infodir=/usr/local/share/info \

--with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d \

--with-pic --with-curl=shared --with-freetype-dir --with-png-dir \

--with-gettext --with-gmp --with-iconv --with-jpeg-dir --with-png-dir \

--with-openssl --with-layout=gnu --with-libxml-dir \

--with-pcre-regex=/usr \

--with-mcrypt=shared --with-mhash --with-zlib --with-bz2=shared \

--with-pdo-mysql --with-mysql --with-mysql-sock=/var/lib/mysql/mysql.sock \

--with-pgsql --with-pdo-pgsql --with-sqlite=shared --with-pdo-sqlite=shared \

--enable-sqlite-utf8 --with-kerberos --with-imap --with-imap-ssl \

--with-pear --with-gd --enable-gd-native-ttf --enable-calendar=shared \

--enable-exif --enable-ftp --enable-sockets --enable-bcmath \

--enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-intl \

--enable-mbstring --enable-zend-multibyte --enable-zip \

--without-unixodbc --disable-tokenizer \

--enable-mbregex

--with-pspell=/usr/local \

如果未安裝pspell,則刪除最後一行。

非rhel/centos系統可以省略 --build,--host,--target 引數,程式會自動判斷(linux一般為i686-pc-linux-gnu)。如果沒安裝pgsql或者不需要pgsql的支援可以刪除相關引數(共2個)。 bz2, calendar, curl, mcrypt, pdo_sqlite, sqlite 這些模組採用動態編譯,可採用下面將會提到的方法載入。

編譯並安裝

# make && make install

安裝結果摘要,裡面有幾個主要的安裝路徑變數

貌似要執行一次libtool --finish ....,不過我執行後也沒什麼奇特效果~

更新httpd配置檔案以便apache能解析php檔案

新增以下內容

如果在解除安裝原有php之前沒備份php.ini檔案,那麼可以從php編譯目錄中把 php.ini-production 拷貝到 /etc目錄下並改名為 php.ini

# mv /usr/local/src/php-5.3.6/php.ini-production /etc/php.ini

新增或者更新相關設定,比如:

extension_dir = "/usr/local/lib/php/20090626"

include_path = ".:/usr/local/share/pear"

# 以下六個模組可根據需要新增

extension = bz2.so

extension = calendar.so

extension = curl.so

extension = mcrypt.so

extension = pdo_sqlite.so

extension = sqlite.so

max_execution_time = 30

max_input_time = 60

memory_limit = 128m

variables_order = "egpcs"

register_globals = off

register_long_arrays = off

post_max_size = 30m

upload_max_filesize = 30m

mbstring.internal_encoding = utf-8

date.timezone = asia/chongqing

測試結果。在 /var/www/html 下面新建乙個檔案 phpinfo.php ,裡面包含內容

<?php

phpinfo();

?>

重啟apache服務

然後在瀏覽器開啟 http://localhost/phpinfo.php 或者 http://serv-ip /phpinfo.php  檔案檢視php配置狀況,這裡ip位址為伺服器位址

Centos 5 5 編譯安裝Mysql5 5

環境 root linux lsb release a lsb version core 3.1 ia32 core 3.1 noarch graphics 3.1 ia32 graphics 3.1 noarch distributor id centos description centos r...

在 CentOS 5 5 上安裝 Gitlab

gitlab 是給 ubuntu 設計的服務,在 centos 上安裝步驟會略微不同。第一次安裝的時候非常痛苦,因為 ubuntu 已經預裝的很多程式在 centos 上都要額外安裝,已經安裝的也有可能版本過低。總之要用 centos 安裝就是件非常蛋疼的事情。不過那也已經是幾個月前的事了,大概解決...

CentOS5 5系統安裝

最近一段時間在折騰linux,今天搞了一天終於搭建成功,其中遇到不少的問題,現在記錄下來方便查詢。先從裝系統開始 0 首先要設定計算機的bios啟動順序為光碟機啟動,儲存設定後將安裝光碟放入光碟機,重新啟動計算機。1 出現centos安裝介面 2 選擇skip跳過不測試光碟 3 選擇next下一步 ...