我一直在努力理解将php作为apache模块加载与其他方式的确切意义/目的。
当php被安装为apache模块时,会发生什么?例如,读取php-ini文件是每次出现php请求时发生还是仅在加载php模块时进行?
我一直在努力理解将php作为apache模块加载与其他方式的确切意义/目的。
当php被安装为apache模块时,会发生什么?例如,读取php-ini文件是每次出现php请求时发生还是仅在加载php模块时进行?
在mod_php、FastCGI和FPM中加载PHP模块时会读取php.ini文件。在常规的CGI模式下,配置文件必须在运行时读取,因为没有任何类型的预先分叉进程。
我认为将PHP作为Web服务器内部模块运行的唯一真正优点是可能更容易配置。当以FastCGI或FPM模式运行并且可以使用线程或事件(而不是分叉)Apache,或者完全放弃Apache时,可以获得更好的性能。
当Apache模块加载时,会读取php.ini文件。PHP CGI使用类似于任何其他shell脚本的php解释器可执行文件。由于每次调用都没有状态涉及,所以在CGI的情况下必须每次都读取配置文件。