WDlinux官方论坛's Archiver

admin 发表于 2012-7-20 09:06

为php添加模块的方法

默认安装,PHP里只是安装了一些常用或基本的模块,其它的要用时再添加就可以的
这里模块分两种
一种是php自带的模块,也就是源码里就有,不用下载
一种是要另外下载的安装模块,如
[url=http://www.wdlinux.cn/bbs/thread-4-1-1.html]http://www.wdlinux.cn/bbs/thread-4-1-1.html[/url]

这里只介绍,在PHP自带的模块
比如SOAP

首先,确定之前有下载的一键包,如果没有,先下载(也可以单独下载PHP软件包)
wget [url=http://dl.wdlinux.cn:5180/lanmp_last.tar.gz]http://dl.wdlinux.cn:5180/lanmp_last.tar.gz[/url]
tar zxvf lanmp_last.tar.gz
cd lanmp
tar zxvf php-5.2.17.tar.gz
cd php-5.2.17
cd ext/soap
/www/wdlinux/php/bin/phpize

./configure --with-php-config=/www/wdlinux/php/bin/php-config
make
make install


echo 'extension=soap.so' >> /www/wdlinux/etc/php.ini

然后重起下服务
service httpd restart
or
service nginxd restart

其它所有的模块,参考这两个例子即可完成安装

藤真 发表于 2012-7-20 16:01

看过,等遇到的时候再来弄!!

workgang 发表于 2012-9-18 17:51

[i=s] 本帖最后由 workgang 于 2012-9-18 17:52 编辑 [/i]

您好

echo 'soap.so' >> /www/wdlinux/etc/php.ini

您这句话,错了吧。应该是:  echo 'extension=soap.so' >> /www/wdlinux/etc/php.ini

另外: 我看 php.ini 里面 extension_dir = './';   请问这个路径是指什么地方?

我编译好的扩展应该放到哪个目录呢?

谢谢管理员。

admin 发表于 2012-9-18 23:43

是错了
这个才是对的
echo 'extension=soap.so' >> /www/wdlinux/etc/php.ini

PHP模块的默认目录
/www/wdlinux/php/lib/php/extensions

workgang 发表于 2012-9-19 21:04

管理员
PHP模块的默认目录
/www/wdlinux/php/lib/php/extensions
里面默认就是  no-debug-non-zts-20060613  no-debug-zts-20060613 这2个文件夹。
编译后的模块保存在 no-debug-non-zts-20060613 里面
可是重启web后, 会提示无法加载 模块。

Starting php_fpm PHP Warning:  PHP Startup: Unable to load dynamic library './pcntl.so' - ./pcntl.so: cannot open shared object file: No such file or directory in Unknown on line 0
done

workgang 发表于 2012-9-19 21:14

我自己修改 php.ini 指定一个目录。然后将 XXX.so 放进去。 是可以正常工作的。
我想知道 wdlinux 是如何设置 ? 如何运作的。 谢谢您。

admin 发表于 2012-9-19 23:46

[b]回复 [url=http://www.wdlinux.cn/bbs/redirect.php?goto=findpost&pid=13474&ptid=2882]5#[/url] [i]workgang[/i] [/b]


   确定有这个*.so文件?

admin 发表于 2012-9-19 23:46

[b]回复 [url=http://www.wdlinux.cn/bbs/redirect.php?goto=findpost&pid=13475&ptid=2882]6#[/url] [i]workgang[/i] [/b]


   这个是PHP的,本身都一样的,wdlinux和其它linux并无区别

zhao2002yf 发表于 2012-11-23 22:50

这个lamnp_last.tar.gz里面是不是包含php里很多的扩展插件?

happyboy 发表于 2013-3-25 11:56

[b]回复 [url=http://www.wdlinux.cn/bbs/redirect.php?goto=findpost&pid=15936&ptid=2882]9#[/url] [i]zhao2002yf[/i] [/b]


    是的,包含了一些附加模块

binq 发表于 2013-6-18 16:46

[i=s] 本帖最后由 binq 于 2013-6-18 16:49 编辑 [/i]

tar zxvf lanmp_last.tar.gz
cd lanmp
tar zxvf php-5.2.17.tar.gz
cd php-5.2.17
cd ext/soap

这里面 lanmp根本就找不到啊
php-5.2.17里面也没有 ext/soap
是怎么回事呢?
[attach]3098[/attach]
extensions 里面也没有soap相关的东西

aGhOsT 发表于 2013-6-25 15:48

[root@localhost soap]# make install
Installing shared extensions:     /www/wdlinux/apache_php-5.2.17/lib/php/extensions/no-debug-non-zts-20060613/
[root@localhost soap]# echo 'extension=soap.so' >> /www/wdlinux/etc/php.ini
[root@localhost soap]# service httpd restart
Stopping httpd: [  OK  ]
Starting httpd: [  OK  ]

这些步骤都正常。可是 phpinfo 就是没有soap 什么情况啊?

admin 发表于 2013-6-25 17:14

在phpinfo里看下,php.ini文件是在哪个路径的

shenyukun 发表于 2014-2-5 23:11

wget http://cn2.php.net/distributions/php-5.3.27.tar.gz

/usr/local/php/bin/
./configure --with-php-config=/usr/local/php/bin/php-config

ahjar 发表于 2014-3-7 15:19

[i=s] 本帖最后由 ahjar 于 2014-3-13 15:25 编辑 [/i]

刚解决这个问题,与admin老师的方法有两个地方出入,一起探讨:

1、编译命令最后增加 --enable-soap[code]./configure --with-php-config=/www/wdlinux/php/bin/php-config --enable-soap[/code]2、编辑文件 /www/wdlinux/etc/php.ini
把 extension_dir = "./" 改成[code]extension_dir = "/www/wdlinux/apache_php-5.2.17/lib/php/extensions/no-debug-non-zts-20060613/"[/code]

dingxuanhua 发表于 2014-8-21 03:27

找了这么久,擦

tangniyuqi 发表于 2015-8-16 18:48

我怎么始终编译不成功啊,步骤都一模一样
@admin 是不是我因为我是php6呢???

wdcpma 发表于 2015-11-6 17:26

[b]回复 [url=http://www.wdlinux.cn/bbs/redirect.php?goto=findpost&pid=10560&ptid=2882]1#[/url] [i]admin[/i] [/b]

好像少了这二个步骤  我亲测 没有这二个 SOAP 模块加载不出来 谢谢
     编辑php.ini文档,设置extension_dir的目录,将编译好的扩展文件复制到extension下面

将extension_dir = "./" 改成  extension_dir = "/www/wdlinux/php/lib/php/extensions"

cp soap.so /www/wdlinux/php/lib/php/extensions

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.