php手动安装phpsize,php编译安装及phpize使用

我的博客已迁移到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

ServerAdmin webmaster@localhost

ServerName aaa.bbb.com

DocumentRoot /var/www/aaa.bbb.com

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

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

phpinfo();

?>;

13、效果

55f6a17c231931e761be03933ac0ae75.png三、使用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配置目录

f6200828d0725b24a95508f7a1fedeec.png2)复制模板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]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值