分享一片文章: Laravel 的核心概念,另请教 Php 大神。。。

2016-10-13 21:55:45 +08:00
 lufficc

原文地址:Laravel 的核心概念

我是个 Php 新手,所以请教一个问题:

Php 的变量包括静态变量会在下一次请求时重新初始化,所有的变量在下一次请求都会被 unset,这句话对不对?

2565 次点击
所在节点    PHP
13 条回复
neoblackcap
2016-10-13 21:59:10 +08:00
php 不是一个请求一个进程吗?
lufficc
2016-10-13 22:00:00 +08:00
@neoblackcap 不一定吧
guoer
2016-10-13 22:15:42 +08:00
每个请求之间没关联。不同的生命周期
lufficc
2016-10-13 22:47:54 +08:00
@guoer 知道了~~
tinyhill
2016-10-14 00:03:11 +08:00
对的,一个请求一个进程,但是 fpm 模型里进程是可以复用的。
lufficc
2016-10-14 00:06:16 +08:00
@tinyhill 好像一般服务器都会对 php 进行优化,核心服务只需要启动一次就行了~~
tinyhill
2016-10-14 00:15:45 +08:00
@luffylcc 你所说的核心服务是指什么? php 一般是通过 fpm 提供 web 服务的,基本策略是维护一个 cgi 进程池,优化也只是在进程调度和资源管理方面。 php 是解释执行,即便能靠 opcache 提升性能,性能鸿沟跨不过去,这是机制所决定的。
lufficc
2016-10-14 00:27:17 +08:00
@tinyhill 我的意思是 php.ini 的第三方扩展,他们应该是只需要启动一次。。。
shiji
2016-10-14 09:36:49 +08:00
PHP performs garbage collection at three primary junctures:

When you tell it to
When you leave a function
When the script ends

只要满足任意一个条件,就会被清理。
跟哪种 SAPI 无关。
跟加载的模块无关。

如果你这问题里面不存在文字游戏的话,这句话就是对的。
Nicksxs
2016-10-14 10:57:05 +08:00
@luffylcc 启动才加载,想多了
ichou
2016-10-14 11:23:00 +08:00
@luffylcc 你这个很好验证啊 先起 fpm, 然后在 php.ini 注释掉一个组件,再用探针去看这个组件还在不在,你就知道是不是只需要启动一次 😛
lufficc
2016-10-14 12:52:10 +08:00
@ichou 厉害,谢谢
lufficc
2016-10-14 12:52:43 +08:00
@shiji 没文字游戏,应该是对的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/312627

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX