Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何执行php文件_Php_Http_Memory_Interpreter - Fatal编程技术网

如何执行php文件

如何执行php文件,php,http,memory,interpreter,Php,Http,Memory,Interpreter,我不确定我是否正确理解php的一般工作原理。 我会解释我是如何理解它的 例如,当您向网页发出请求时,首先PHP解释器会运行整个index.PHP文件和所有依赖项,检查其是否存在错误,然后从index.PHP的开头一直执行到结尾 所有框架如何工作 他们正在做一件叫做bootstrap的事情,在index.php的第一行,可以找到一些方法,将执行流引导到另一种方式(到另一个文件),在那里做很多事情。正在将类加载到内存中 但是,如果没有exit命令,执行将在index.php文件的末尾结束 如果我理解

我不确定我是否正确理解php的一般工作原理。
我会解释我是如何理解它的

例如,当您向网页发出请求时,首先PHP解释器会运行整个index.PHP文件和所有依赖项,检查其是否存在错误,然后从index.PHP的开头一直执行到结尾

所有框架如何工作

他们正在做一件叫做bootstrap的事情,在index.php的第一行,可以找到一些方法,将执行流引导到另一种方式(到另一个文件),在那里做很多事情。正在将类加载到内存中

但是,如果没有exit命令,执行将在index.php文件的末尾结束

如果我理解正确的话,这意味着对于每个请求,PHP都会在没有先前状态的情况下开始解释,所以当PHP响应用户请求时,它会清除内存中的所有对象并完成。对于用户来说,似乎他正在使用一个程序,但对于服务器和PHP,每个请求都是无状态的,所以PHP解释器必须将执行每个请求所需的所有类加载到内存中


我是对的,还是PHP在内存中存储上次加载的类声明(java中的永久生成)和静态变量?

一般来说,您是对的。但是对于服务器和PHP,每个请求都是无状态的。。。欢迎来到互联网。你已经总结了很多:PHP是无状态的,这就是为什么我们使用会话来维护请求之间的用户数据,缓存存储或数据库或类似的东西来维护请求之间的所有数据,尽管OpCache之类的东西意味着PHP不需要在每个请求上重新编译脚本代码PHP运行时,源代码会尽其所能完成所有“简单的工作”,并报告错误。它仍然是一种“运行时”语言。这意味着,在更糟糕的情况下,PHP必须再次解析所有内容。它会的!:)同样正确的是,记录
状态信息的唯一方法是在“外部数据存储”中。这可能是内存、文件、数据库、cookies等。一旦PHP程序退出,所有内容都会被遗忘,直到下一次“提醒”它在哪里。