我们在做什么
Fatal error: Call to undefined function curl_init() in /var/www/boss.yfang.cn/htdocs/yahooboss.class.php on line 48 # 稍微查一下就知道这是php的curl模块中的一个函数 准备工作
实际操作
cd /usr/local/src/php-version/ext
cd tidy
/usr/local/php/bin/phpize # 有可能你用其他安装方式已经把phpize加到了PATH中,如果是这样你可以直接执行 "phpize" 就好了# 这时已经生成了一些配置信息,接下来可以开始configure了
./configure --with-php-config=/usr/local/php/bin/php-config # 这里如果直接执行./configure很有可能会报错# "configure: error: Cannot find php-config. Please use --with-php-config=PATH",# 你的配置文件位置可能不在这个目录,这个文件通常是在php安装目录的bin目录下的一个文件名叫做php-config或者php-config5的文件,实在找不到就find一下咯
make && make install # 最后结果会输出生成的so位置,比如 "Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
/usr/local/php/bin/php -v# 执行这个命令时,php会去检查配置文件是否正确,如果有配置错误,这里会报错,可以根据错误信息去排查# 下面是一个典型的错误输出,报告找不到配置文件中设定的so,原因就是没有更改extension_dir
PHP Warning: PHP Startup: Unable to load dynamic library './curl.so' - ./curl.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library './tidy.so' - ./tidy.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP 5.2.6 (cli) (built: Aug 8 2008 16:08:19)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with Zend Extension Manager v1.2.2, Copyright (c) 2003-2007, by Zend Technologies
with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
|
服务器运行一段时间后,可能突然会需求添加某个扩展,如curl、pdo、xmlrpc等,这就需要在不重新编译PHP的情况下独立添加扩展。
下面以安装curl为例,介绍具体安装步骤。
1.安装crul wget http://curl.haxx.se/download/curl-7.19.6.tar.gz tar -zxvf curl-7.19.6.tar.gz cd curl-7.19.6 ./configure --prefix=/usr/local/curl
make
make install
2.编译生成扩展进入php源程序目录中的ext目录中,这里存放着各个扩展模块的源代码,选择你需要的模块,比如curl模块:
cd curl
执行phpize生成编译文件,phpize在PHP安装目录的bin目录下
/usr/local/php5/bin/phpize
运行时,可能会报错:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable is set correctly and then rerun this script.“,需要安装autoconf:
yum install autoconf(RedHat或者CentOS)、apt-get install autoconf(Ubuntu Linux)
生成配置文件,并编译生成模块:
/usr/local/php5/bin/phpize
./configure --with-curl=/usr/local/curl --with-php-config=/usr/local/php5/bin/php-config
make
make install
这样,curl.so就被复制到PHP对应目录(如:/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/)
3.修改配置在php.ini里,设置扩展目录:
extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/"
并添加扩展模块引用:
extension = curl.so
4.检查并重启Apache
/usr/local/php/bin/php -v
执行这个命令时,php会去检查配置文件是否正确,如果有配置错误,这里会报错,可以根据错误信息去排查。
本日志由 flyinweb 于 2010-08-13 14:28:33 发表,目前已经被浏览 4285 次,评论 0 次;
作者添加了以下标签: phpize,php extension;
引用通告:http://www.517sou.net/Article/508/Trackback.ashx
It is quite useful and interesting too.
VIRT 的上限是64G,也就是36位, cat /proc/cpuinfo的结果是:addre
昨天要准备用线程重写webbench,试验了下Fedora Linux 2.6.35.14
不明白您的具体的意思是什么?
已经发送到你QQ邮箱
http://www.2mysite.net/scriptencoder/screnc.asp 站长你好,看
你好,我发现一个问题,就是从mysqld2同步过来的数据,在mysqld1的
晕,我说是怎么回事情,原来我和你一样,忘记设置了活动分区