gpt4 book ai didi

php - 将 PHP 5.3.3 从源代码编译到 Apache

转载 作者:太空宇宙 更新时间:2023-11-04 02:19:13 26 4
gpt4 key购买 nike

刚刚从源代码 (win32) 编译了 5.3.3。尝试测试一些 header() 东西,但它看起来不适用于 CLI sapi。任何关于将编译后的源代码作为模块放入 apache 的好文档,就像我通常对预编译模块所做的那样。

基本上我的测试将来自 CLI

php -r "header('Content-Type: text/plain', true, 404); var_dump(headers_list());"

我从 headers_list() 得到一个空数组,所以我需要将这个内置源放入 apache 中,以便我从 headers_list() 得到响应。

提前谢谢你们。

-------- 更新------

配置命令,但还没有apache? http://pastebin.com/qhFVR8A3 :

E:\phpsdk\bin\php53dev\vc9\x86\php5.3.3>configure --disable-all --enable-cli --enable-apache2-2handler --enable-apache2-2filter

Enabled SAPI:
-------------
| Sapi Name |
-------------
| cli |
-------------

----- 第二次更新 ----

下载了 apache,将其固定在 ../apache 中并尝试了以下命令,但找不到 header 。

http://pastebin.com/XyrzuZvu :

E:\phpsdk\bin\php53dev\vc9\x86\php5.3.3>
configure --disable-all --enable-cli --enable-apache2-2handler=../apache --enable-apache2-2filter --enable-cgi

---- 第三次更新---

Enabled SAPI:
--------------------
| Sapi Name |
--------------------
| apache2_2filter |
| apache2_2handler |
| cgi |
| cli |
--------------------

I have it working now.
E:\phpsdk\bin\php53dev\vc9\x86\php5.3.3>configure --disable-all --enable-cli --enable-apache2-2handler --enable-apache2-2filter --enable-cgi --with-extra-includes=E:\phpsdk\bin\php53dev\vc9\x86\apache\include --with-extra-libs=E:\phpsdk\bin\php53dev\vc9\x86\apache\lib

谢谢你的链接

最佳答案

PHP cli SAPI 并不是真的要发送 HTTP header ;它的目的是从命令行使用。

如果要将 PHP 与 Apache 一起使用,则必须编译 Apache 模块 SAPI 或 CGI SAPI。

要编译 Apache 2.2 模块,您必须拥有 Apache 库并分别在 %LIB% 和 %INCLUDE% 中包含目录,然后使用:

--enable-apache2-2handler

请注意,您走的是 Apache 模块路线,您必须针对 Apache 二进制文件使用的相同版本的 C 运行时库对其进行编译。原因是 PHP 必须能够分配内存并将这些指针传递给 Apache 以便它释放它们,反之亦然,为了正确发生,版本必须相同。因此,例如,如果您编译(或从某处下载)使用 Visual C++ 9 编译的 Apache,则必须使用 Visual C++ 9 来编译 PHP。

关于php - 将 PHP 5.3.3 从源代码编译到 Apache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3430030/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com