linux下用phpize给PHP动态添加扩展

linux下用phpize给PHP动态添加扩展,第1张

使用php的常见问题是:编译php时忘记添加扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想删除目录重装,别说,php还真有这样的功能。

我没有在手册中看到。

如我想增加bcmath支持,这是一个支持大整数计算的扩展。windows自带而且内置,linux本类函数仅在

PHP

编译时配置了

--enable-bcmath

时可用(引号内是手册中的话)

幸好有phpize,

方法是,要有与现有php完全相同的php压缩包。我用的是php-5.2.6.tar.gz。

展开后进入里面的ext/bcmath目录

然后执行/usr/local/php/bin/phpize,这是一个可执行的文本文件,要确保它在系统中

会发现当前目录下多了一些configure文件,

如果没报错,则

Php代码

./configure

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

如果你的php安装路径不是默认的,要改。

如果没有报错,则make,再make

install

,然后它告诉你一个目录

你把该目录下的bcmath.so拷贝到你php.ini中的extension_dir指向的目录中,

修改php.ini,在最后添加一句extension=bcmath.so

重启apache.

增大Linux的socket最大连接数

最近接的项目是模拟多个socket 客户端与服务器进行通信。由于Linux 系统的限制,在linux/include/linux/posix_types.h文件中有如下的宏定义:

#undef __FD_SETSIZE

#define __FD_SETSIZE 1024

这个宏是对最大文件描述符的定义为1024。当需要1024个以上的fd时,例如select()函数就会侦听出错。因此需要将1024改成需要的数目,但最多不能超过65535。但仅仅修改这个是不够的。

第二步就需要修改一个进程最大打开的文件数。其具体步骤是:

1、cd /usr/src/linux-2.4/include/linux

2、vi limits.h 编辑文件:

#define NR_OPEN 90240 原值为1024

#define OPEN_MAX 10240 原值为1024

3、vi fs.h

#define INR_OPEN 10240 原值为1024

#define NR_FILE 65536 原值为8192,这个值为内存64/1M的比率计算,1G内存计算为:64*1024

#define NR_RESERVED_FILES 128 原值为10.

4、cd /usr/src/linux-2.4/include/net

5、vi tcp.h

#define TCP_LHTABLE_SIZE 128 原值为32.便于listen侦听队列,设大。

设置最大打开文件数与内存相关,太大系统会变慢。

第三步就是编译内核,其具体步骤是:

1. make clean

2. make

3. make dep

4. make bzImage

将bzImage 导入/boot 重启系统即可!

用1024个以上客户端与服务器进行连接,在服务器的终端用netstat |wc 命令可以统计出当前建立的socket的连接数。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11266807.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存