我的博客已迁移到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.comServerAdmin webmaster@localhost ServerName aaa.bbb.com DocumentRoot /var/www/aaa.bbb.com 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 ; 13、效果Options -Indexes FollowSymLinks +Execcgi AllowOverride All Order allow,deny allow from all ErrorLog /var/log/apache2/aaa.bbb.com_error.log LogLevel warn CustomLog /var/log/apache2/aaa.bbb.com_access.log combined
站在用户的角度思考问题,与客户深入沟通,找到景宁畲族自治网站设计与景宁畲族自治网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、成都网站制作、企业官网、英文网站、手机端网站、网站推广、空间域名、虚拟主机、企业邮箱。业务覆盖景宁畲族自治地区。
三、使用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]