PHP扩展开发资源

http://www.php-internals.com/

http://www.walu.cc/phpbook/index.md

1. 首先, 要推荐一本书 《Extending and Embedding PHP》, 如果你有时间, 我建议你在做之前好好读读这本书(目前没有中文版)

2. Google/Baidu 这个就不用多说了吧

3. PHP的源代码中,包含了一些编写良好的”例子”, 都在ext/目录下, 绝大部分Zend_API的使用, 都在里面有例子.

4. pecl-dev at lists.php.net 这个邮件组是扩展开发的交流邮件组, 如果你实在是Google/baidu不到你的问题的答案, 可以发邮件到这个邮件组提问, 不过, 一般来说, 要有耐心等待回复(大部分人和我们有15个小时的时差, 当然, 如果我看到了, 我会尽量回复)

5. efnet #php.pecl 这里聚集了pecl开发者, 你也可以来这里提问(我整天都在上面), 不过这里只能说英文, 另外提问的时候要注意不要直接粘贴代码, 而应该使用pastebin之类的工具(所以还是建议大家发邮件到pecl-dev)

6. 尽量编写一些phpt测试用例(phpt的写法在每个标准扩展下面都有例子, tests目录下), 来测试你的扩展.

7. 测试的时候用–enable-debug编译PHP, 来测试你的扩展, 你要做到执行你的扩展逻辑, 不输出任何错误信息

8. 使用valgrind检测内存泄露.

几本相关PDF

参考:

http://www.laruence.com/2011/09/13/2139.html

http://www.laruence.com/2009/04/28/719.html

iptables端口随机转发实现简单的负载均衡

输入以下命令:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8001-8002

解释:通过NAT的方式吧从端口80接收到的数据随机转发到8001,8002端口

注意:要使用 iptables-save > /etc/sysconfig/iptables,否则在服务重启后会丢失

使用multiport可以添加多个不连接的端口,最多可以添加15组。如下

-A INPUT -p tcp -m multiport –dport 21:25,135:139 -j DROP

如果不使用multiport参数,只能是添加连续的端口。

如-A INPUT -p tcp –dport 21:25 -j DROP

而不能写成21:25,135:139

 

参考:

http://www.361way.com/iptables-multiport/2574.html

http://wjw465150.iteye.com/blog/423704

http://www.groad.net/bbs/thread-7041-1-1.html