您好,登錄后才能下訂單哦!
我的博客已遷移到xdoujiang.com請去那邊和我交流 一、基礎環境 1、版本 cat /etc/debian_version 5.0.10 2、內核 uname -r 2.6.26-2-amd64 3、安裝包 php-5.4.22.tar.bz2 4、ip(eth0) 10.1.10.160 5、php官網 http://www.php.net/downloads.php 6、安裝基礎包 apt-get -y install bzip2 gcc make libxml2-dev autoconf libtool automake 7、安裝apxs命令 1)apt-get -y install apache2-prefork-dev 2)說明 apxs是一個為ApacheHTTP服務器編譯和安裝擴展模塊的工具,用于編譯一個或多個源程序或目標代碼文件為動態共享對象,使之可以用由mod_so提供的LoadModule 指令在運行時加載到Apache服務器中。 8、安裝apache2(prefork模式) apt-get -y install apache2-mpm-prefork 二、安裝php 1、下載php包 axel -n 10 http://mirrors.sohu.com/php/php-5.4.22.tar.bz2 2、創建目錄 mkdir /opt/php -p 3、解壓并進入目錄 tar jxvf php-5.4.22.tar.bz2 -C /opt/php && cd /opt/php/php-5.4.22 4、編譯三步曲 1)./configure --with-apxs2=/usr/bin/apxs2 --prefix=/opt/php/ 2)make && make install 3)參數說明 --with-apxs2 整合apache,apxs功能是使用mod_so中的LoadModule指令,加載指定模塊到apache,要求apache要打開so模塊 --prefix 安裝路徑 4)編譯出錯解決方法 make install Installing PHP SAPI module: apache2handler /usr/share/apache2/build/instdso.sh SH_LIBTOOL='/usr/share/apr-1.0/build/libtool' libphp5.la /usr/lib/apache2/modules /usr/share/apr-1.0/build/libtool --mode=install cp libphp5.la /usr/lib/apache2/modules/ cp .libs/libphp5.so /usr/lib/apache2/modules/libphp5.so cp .libs/libphp5.lai /usr/lib/apache2/modules/libphp5.la libtool: install: warning: remember to run libtool --finish /opt/php/php-5.4.22/libs chmod 644 /usr/lib/apache2/modules/libphp5.so apxs:Error: Activation failed for custom /etc/apache2/httpd.conf file.. apxs:Error: At least one LoadModule directive already has to exist.. make: *** [install-sapi] Error 1 5)在httpd.conf配置中添加2行 cat /etc/apache2/httpd.conf #LoadModule directive to aid module installations #LoadModule dummy_module /usr/lib/apache2/modules/mod_dummy.so 5、再次編譯 make clean make && make install 6、創建軟鏈接 ln -s /opt/php/bin/* /usr/bin/ 7、再次查看apache2配置文件里已經有php的模塊已經添加好了 cat /etc/apache2/httpd.conf #LoadModule directive to aid module installations #LoadModule dummy_module /usr/lib/apache2/modules/mod_dummy.so LoadModule php5_module /usr/lib/apache2/modules/libphp5.so 8、添加虛擬主機 1)復制一份模板 cd /etc/apache2/sites-available && cp default aaa.bbb.com 2)域名aaa.bbb.com cat aaa.bbb.com <VirtualHost 10.1.10.160:80> ServerAdmin webmaster@localhost ServerName aaa.bbb.com DocumentRoot /var/www/aaa.bbb.com <Directory /var/www/aaa.bbb.com/> Options -Indexes FollowSymLinks +Execcgi AllowOverride All Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/aaa.bbb.com_error.log LogLevel warn CustomLog /var/log/apache2/aaa.bbb.com_access.log combined </VirtualHost> 9、啟用虛擬主機 a2ensite aaa.bbb.com Enabling site aaa.bbb.com. Run '/etc/init.d/apache2 reload' to activate new configuration! 10、創建網站目錄并修改權限 cd /var/www/ && mkdir aaa.bbb.com -p && chown www-data.www-data aaa.bbb.com/ -R 11、重啟apache2服務 /etc/init.d/apache2 restart 12、測試php是否成功安裝 并使用綁定域名來測試下 cat /var/www/aaa.bbb.com/index.php <?php phpinfo(); ?>; 13、效果
三、使用phpize命令給php動態添加擴展(bcmath) 1、查看當前php已加載的有效模塊 php -m [PHP Modules] Core ctype date dom ereg fileinfo filter hash iconv json libxml pcre PDO pdo_sqlite Phar posix Reflection session SimpleXML SPL sqlite3 standard tokenizer xml xmlreader xmlwriter [Zend Modules] 2)參數 -m Show compiled in modules(會顯示當前php加載的有效模塊) 2、進入bcmath目錄 cd /opt/php/php-5.4.22/ext/bcmath 3、執行phpize命令 phpize Configuring for: PHP Api Version: 20100412 Zend Module Api No: 20100525 Zend Extension Api No: 220100525 4、make && make install Installing shared extensions: /opt/php/lib/php/extensions/no-debug-non-zts-20100525/ 5、查看到bcmath.so位置 ll /opt/php/lib/php/extensions/no-debug-non-zts-20100525/ -rwxr-xr-x 1 root root 383696 2015-07-24 14:51 bcmath.so 6、將源碼包里的php.ini-production復制到php配置目錄 1)查看下php配置目錄
2)復制模板php.ini-production并改名為php.ini cp /opt/php/php-5.4.22/php.ini-production /opt/php/lib/php.ini 7、在cat /opt/php/lib/php.ini配置里添加以下內容到最后 extension = /opt/php/lib/php/extensions/no-debug-non-zts-20100525/bcmath.so 8、重啟apache2 /etc/init.d/apache2 restart 9、看到bcmath已經加載OK了 php -m [PHP Modules] bcmath Core ctype date dom ereg fileinfo filter hash iconv json libxml pcre PDO pdo_sqlite Phar posix Reflection session SimpleXML SPL sqlite3 standard tokenizer xml xmlreader xmlwriter [Zend Modules]
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。