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 \如果未安裝pspell,則刪除最後一行。--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 \
非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 ,裡面包含內容
重啟apache服務<?php
phpinfo();
?>
然後在瀏覽器開啟 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下一步 ...