标签:PHP

PHP, 编程

PHP线程安全与非线程安全版本的本质区别

在百度上搜“PHP 线程安全 非线程安全”,你肯定会找到这种狗屁话: 一本正经说胡话,完完全全没解释到点上。 稍微懂点C语言的都不会相信这种话,更别谈说出来了,千转载万转载你转载我我转载你就转载点那么没水平的东西来忽悠人。   线程和进程最大的根本区别就是内存数据的共享。 每个进程都独享一个虚拟内存[虚拟内存 = 物理内存 + SWAP/页面文件)]。 一个进程可以拥有多个线程,一般来说一个线程仅独享一个进程的虚拟内存中的一个函数栈帧。   程序储存数据有下面几种常用的方式: 自动变量: 自动变量是储存在栈中的,随着函数的调用而产生,结束而销毁。 静态(全局)变量: 静态分 […]

Read more No Comments
C/CPP, PHP

[PHP模块开发]获取单次请求所耗的CPU时间

数天前与一个学校中的朋友闲聊,对方提到了使用Hostker的经历,涉及到了一项“按CPU时间”计费的功能。 个人来说,是挺欣赏这一项收费策略的,毕竟有多少个使用虚拟主机的用户,就有多少种不同资源需求量,按照PHP对CPU资源的使用情况来计费,不仅实现公平收费,还能逼那些让资源占用多的用户占得谨慎点,比用CloudLinux的那些逼格高得多哈!   既然如此,就自己来动手实现一个。 计算CPU时间,并不难实现,Unix Like有提供这一个系统调用,所以嘛,根本不需要你自己计算…… 我所知道相关的系统调用有两个,以下是他们的函数原型: [crayon-5a189b2a101026116 […]

Read more No Comments
Unix Like, 操作系统, 服务器, 未分类, 运营维护

让cPanel/WHM的Apache使用PHP FPM

雅黑PHP探针

因为FasiCGI,CGI模式下均有少许问题,所以一直以来都给Apache使用mod_php方式执行PHP。 但此模式的资源占用可要给差评了,在网站访问量大的时候,特别是被CC的时候,FORK出的大量Apache进程经常会变成“僵尸”进程,无法正常退出,即使访问量恢复正常,攻击已结束,那些“僵尸”进程一样占用着你的资源,有时攻击猛烈些,直接整个系统宕掉,非硬重启无法救活。纵使有些人会使用如CloudLinux,BetterLinux之类的限制单用户的进程,但还是会有以Apache默认的执行身份fork出的进程…… 为了给虚拟主机带来更稳定,更安全的使用环境,必须更换PHP执行方式! 经过测试与 […]

Read more 3 Comments
服务器, 未分类, 运营维护

LNMPV0.3 Stable For Ubuntu 12.*/Debian 6/Debian7/CentOS6 32Bit or 64Bit

从今天开始,LNMPV的网站正式启用,以后新版均在http://www.mke2fs.com发布   LNMPV 0.2 Stable: 昨天发布了LNMPV 0.1测试版,感谢http://imlonghao.com/这个勇敢的小白,试用了我的LNMPV0.1,告知了我很多BUG,经过昨晚的努力,终于解决了。 另外还要感谢单手摘JJ,经过他昨晚的提醒,让我恍然大悟,发现可以一站一POOL来实现PHP以特定的用户身份执行。从而解决跨站问题。 本次更新: 1 )使用sock方式链接PHP-FPM 2 )添加可选的一站点一POOL的功能 3 )修改PHP-FPM的进程上限 4 )修改PH […]

Read more 72 Comments
未分类, 运营维护

APC3.1.9自动安装脚本For DirectAdmin with PHP-CLI

前面发过一个APC Shell Script For PHP-CGI,经过Zeraba的指导,使用apc.php看了下APC的命中率,发现无论怎样,命中数只有“1”,明显APC并没有发挥它应有的用途。同时也发现,不管是什么opcode的PHP组件,都是只能在探针那看个版本…… 既然PHP-CGI有问题,那就换PHP-CLI,但是DirectAdmin的PHP-CLI模式也有问题,那就是无法以特定身份去创建执行PHP程序,这就使得用户的网站某些目录需要设置rwxrwxrwx,非常麻烦,而且也不安全。 要解决DirectAdmin的PHP-CLI的问题,大家可以参考:实现DirectAdmin使用 […]

Read more 9 Comments