Linux中PHP安裝與配置(CentOS-6.5:php-5.2.13),
1 PHP簡介 PHP(PHP: Hypertext Preprocessor的縮寫,中文名:“超文本前置處理器”)是一種通用開源指令碼語言。文法吸收了C語言、Java和Perl的特點,入門門檻較低,易於學習,使用廣泛,主要適用於Web開發領域。PHP的檔案尾碼名為php。
2 1)libmcrpyt
ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
2) php
http://www.php.net/
3)本次安裝所有的軟體資源套件(安裝環境:CentOS-6.5)
http://download.csdn.net/detail/clevercode/8676163
3 安裝說明 1)PHP的安裝相對比較複雜。可以參考百度經驗的lnmp的安裝方式。
網址:http://jingyan.baidu.com/article/915fc414cc28ec51394b2032.html
2)在安裝lnmp的時候。系統約定:
軟體原始碼包存放位置:/usr/local/src/軟體名字
源碼包編譯安裝位置:/usr/local/軟體名字
4 安裝步驟4.1 安裝libiconv
安裝前確保進行安裝Linux常備支援庫,否則會出現各種錯誤!Linux中必備常用支援庫的安裝:http://blog.csdn.net/clevercode/article/details/45438401
# cd /usr/local/src/php
# tar zxvf libiconv-1.13.tar.gz
# cd libiconv-1.13
# ./configure --prefix=/usr/local
# make
# make install
4.2 安裝libmcrypt# cd /usr/local/src/php
# tar zxvf libmcrypt-2.5.8.tar.gz #解壓
# cd libmcrypt-2.5.8 #進入目錄
# ./configure #配置
# make #編譯
# make install #安裝
4.3 安裝mhash# cd /usr/local/src/php
# tar zxvf mhash-0.9.9.9.tar.gz
# cd mhash-0.9.9.9/
# ./configure
# make
# make install
4.4 建立軟鏈ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
cp -frp /usr/lib64/libjpeg.* /usr/lib/
cp -frp /usr/lib64/libpng* /usr/lib/
cp -frp /usr/lib64/libldap* /usr/lib/
4.5 安裝PHP1) 建立使用者php-fpm使用的www使用者。
# groupadd www #添加www組
# useradd -g www www -s /bin/false #建立nginx運行賬戶www並加入到www組,不允許www使用者直接登入系統
2) 建立安裝目錄,緩衝目錄,日誌目錄
a) 安裝目錄
# mkdir -p /usr/local/php5
b) 緩衝目錄
# mkdir -p /tmp/phis
# chown www:www /tmp/phis -R
c)session目錄,如果是負載平衡的多台伺服器,需要共用session,session需要放入memcach中
# mkdir -p /tmp/session
# chown www:www /tmp/session -R
d)建立日誌目錄
# mkdir -p /data0/logs/php
# chown www:www /data0/logs/php -R
3)解壓
確保已經安裝mysql-devel 且產生/usr/lib64/mysql
64位系統中 libmysqlclient 預設安裝到了 /usr/lib64/mysql/ 目錄下
而php編譯時間是去/usr/lib目錄下尋找 因此要建立軟串連
# ln -s /usr/lib64/mysql/libmysqlclient* /usr/lib
# /sbin/ldconfig
# cd /usr/local/src/php
# tar -xvpf php-5.2.13.tar.bz2
4)補丁
# gzip -cd php-5.2.13-fpm-0.5.13.diff.gz | patch -d php-5.2.13 -p1
5) 配置
# cd php-5.2.13/
# ./configure --prefix=/usr/local/php5 \
--with-config-file-path=/usr/local/php5/etc \
--with-mysql=/usr/include/mysql \
--with-mysqli=/usr/lib64/mysql/mysql_config \
--with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir \
--with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml \
--disable-rpath --enable-discard-path --enable-safe-mode \
--enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization \
--with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi \
--enable-fpm \
--enable-force-cgi-redirect --enable-mbstring \
--with-mcrypt --with-gd --enable-gd-native-ttf \
--with-openssl --with-mhash --enable-pcntl --enable-sockets \
--with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap \
--without-pear --with-pdo-mysql
6)編譯
make ZEND_EXTRA_LIBS='-liconv'
7)安裝
make install
4.6 安裝PHP擴充模組1)安裝memcache
cd /usr/local/src/php
tar zxvf memcache-2.2.5.tgz
cd memcache-2.2.5/
/usr/local/php5/bin/phpize
./configure --with-php-config=/usr/local/php5/bin/php-config
make
make install
cd ../
4.7 配置PHP方式一:手動設定
1)複製php設定檔到安裝目錄
# cp /usr/local/src/php/php-5.2.13/php.ini-dist /usr/local/php5/etc/php.ini
2)刪除系統內建設定檔
# rm -rf /etc/php.ini
3)添加軟連結
# ln -s /usr/local/php5/etc/php.ini /etc/php.ini
4)編輯
vi /usr/local/php5/etc/php-fpm.conf
user = www #設定php-fpm運行帳號為www
group = www #設定php-fpm運行組為www
pid = run/php-fpm.pid #取消前面的分號
#設定 php-fpm開機啟動,拷貝php-fpm到啟動目錄
# Cp /usr/local/php5/sbin/php-fpm /etc/rc.d/init.d/php-fpm
#添加執行許可權
chmod +x /etc/rc.d/init.d/php-fpm
#設定開機啟動
chkconfig php-fpm on
#編輯設定檔
vi /usr/local/php5/etc/php.ini
找到:disable_functions =
修改為:
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
#列出PHP可以禁用的函數,如果某些程式需要用到這個函數,可以刪除,取消禁用。
找到:;date.timezone =
修改為:date.timezone = PRC #設定時區
找到:expose_php = On
修改為:expose_php = OFF #禁止顯示php版本的資訊
PS:在編譯PHP的過程中可能會報UNDEFINED REFERENCE TO `LIBICONV_OPEN 無法編譯PHP LIBICONV錯誤.
#配置php命令
ln -s /usr/local/php5/bin/php /usr/bin/
方式二:上傳檔案配置(: http://download.csdn.net/detail/clevercode/8676163)
1) 上傳php.ini
# cd /usr/local/php5/etc/
# rz php.ini
# ln -s /usr/local/php5/etc/php.ini /etc/php.ini
2)上傳php-fpm.conf
# cd /usr/local/php5/etc
# rz php-fpm.conf
4.8 啟動停止重啟php-fpm1)啟動
# cd /usr/local/php5/sbin
# ./php-fpm start
2)停止
# ./php-fpm stop
2) 重啟
# ./php-fpm restart
4.9 配置Nginx支援php
詳情請參看我的另外一篇部落格:《 Linux中Nginx安裝與配置(CentOS-6.5:nginx-1.5.0)》
網址:http://blog.csdn.net/clevercode/article/details/45442155
原創作品,出自"CleverCode的部落格",轉載時請務必註明以下原創地址,否則追究著作權法律責任。
原創地址:http://blog.csdn.net/clevercode/article/details/45579837(轉載務必註明該地址)。
部落格專欄地址(Linux常用軟體安裝與配置):http://blog.csdn.net/column/details/linuxsoftwareinstall.html。
歡迎大家關注我部落格更多的精彩內容:http://blog.csdn.net/CleverCode。