我不太清楚PHP过程是什么

时间:2015-03-16 15:24:52

标签: php

我想按flock锁定文件。我阅读了文档并说明了

  

这些锁只适用于当前的PHP进程。

那么什么是PHP process?如果Web服务器中有一个PHP项目,并且有许多客户端在他们的计算机浏览器上打开该项目,那么所有这些客户端计算机是否都启动了不同的PHP进程?如果是这样,那么flock真的会锁定那种情况吗?我想要的是在我第一次访问该文件时将文件锁定在Web服务器上,即使有许多其他客户端计算机试图在页面上启动相同的功能!

1 个答案:

答案 0 :(得分:0)

这一切都取决于哪个操作系统以及如何通过Web服务器设置服务器和php。在Windows上,我相信它的一个php.exe进程应该不会太难掌握。在linux上,一个php进程处理每个apache请求。

例如,我发布了>

ps aux | grep php

我得到了:

root      4346  0.0  1.6 345920 19068 pts/0    T    Mar12   0:04 emacs mission_insert.php

这个节目我用emacs打开了一个名为mission_insert.php的php文件,它没有显示有关php请求的任何内容,但是它通过httpd / apache处理。

当我发出>

ps aux | grep httpd

我得到以下内容:

root      3255  0.0  2.3 616964 27720 ?        Ss   Mar11   0:22 /usr/sbin/httpd -DFOREGROUND
apache    7227  0.0  1.8 723060 22040 ?        S    03:35   0:01 /usr/sbin/httpd -DFOREGROUND
apache    7228  0.0  1.7 722828 20752 ?        S    03:35   0:01 /usr/sbin/httpd -DFOREGROUND
apache    7229  0.0  1.7 723500 20136 ?        S    03:35   0:00 /usr/sbin/httpd -DFOREGROUND
apache    7230  0.0  1.8 723008 22324 ?        S    03:35   0:01 /usr/sbin/httpd -DFOREGROUND
apache    7374  0.0  1.7 723136 20868 ?        S    09:38   0:01 /usr/sbin/httpd -DFOREGROUND
apache    7380  0.0  2.0 725124 23840 ?        S    09:38   0:01 /usr/sbin/httpd -DFOREGROUND
apache    7381  0.0  1.8 725140 21392 ?        S    09:38   0:01 /usr/sbin/httpd -DFOREGROUND
apache    7382  0.0  1.9 724620 22880 ?        S    09:38   0:00 /usr/sbin/httpd -DFOREGROUND
apache    7385  0.0  1.7 723028 20864 ?        S    09:38   0:01 /usr/sbin/httpd -DFOREGROUND
apache    7578  0.0  0.9 617232 11396 ?        S    10:22   0:00 /usr/sbin/httpd -DFOREGROUND
root      7628  0.0  0.0 112640   960 pts/0    R+   11:27   0:00 grep --color=auto httpd