【问题标题】:Create Standalone PHP 5.4 Binary创建独立的 PHP 5.4 二进制文件
【发布时间】:2013-08-15 04:38:55
【问题描述】:

对于离线开发,我想制作一个独立的 PHP 5.4 二进制文件,这样我就可以使用 PHP 自托管选项。 例如 php -S localhost:8000 这将启动一个用于托管 PHP 文件的服务器。

由于在 mac 上安装和配置 PHP 5.4 对于非技术人员来说并非易事。我希望能够在我的文件中包含一个有效的 PHP 二进制文件。所以基本上我可以跑。 ./php -S localhost:8000 在我的文件夹中,它将起作用。

我已按照此处的说明通过在源代码上运行来创建独立的 PHP 二进制文件。

./configure --enable-static --enable-cgi --enable-mbstring\
   --enable-force-cgi-redirect \
   --with-config-file-path=/etc/php5cgi \
   --prefix=/usr/local/php5cgi \
     --with-curl \
    --enable-sockets \
   --with-zlib --with-zlib-dir=/usr/include \
   --with-pear 

然后编辑 Makefile 使其具有 -all-static

BUILD_CGI = <other commands here> $(ZEND_EXTRA_LIBS) -all-static -o $(SAPI_CGI_PATH).
BUILD_CLI = <other commands here> $(ZEND_EXTRA_LIBS) -all-static -o $(SAPI_CGI_PATH).

这确实有效。文件是独立的。 但是当我运行二进制文件时。

./php-cgi -h 

内置网络服务器没有“-S”选项? 我是否需要更改配置选项中的某些内容以允许内置网络服务器?我的源代码是从 PHP.net 下载的(我确实下载了 5.5 最新的源代码,但仍然有 -S 选项)。

谢谢,约翰。

【问题讨论】:

  • 为什么不安装 Homebrew 并使用:github.com/josegonzalez/homebrew-php
  • 我认为问题在于您构建 php-cgi 而不是 php-cli
  • 所以只需将配置开始时的 cgi 更改为 cli 即可?
  • 说真的,只需要几分钟,如果你使用 Homebrew,大部分时间都在等待 PHP 编译。我建议任何一天手工编译,除非你有 Homebrew 包没有解决的非常特殊的需求。
  • 自制不是我的问题。我需要一个用于 mac 的 100% 独立 PHP 二进制文件。现在我得到它的工作文件是 2.5mb 压缩。这意味着我的解决方案是独立的。否则我需要告诉设计师他们需要将他们的机器更新到 PHP5.4 并改变他们的路径。这太难了。

标签: php webserver


【解决方案1】:

感谢@devZer0 我加入了 sapi/cgi/php-cgi 并试图运行它。 需要 cd 进入 sapi/cli/php 现在可以了! php -h 返回 web 服务器的 -S 选项。

【讨论】:

    猜你喜欢
    • 2015-11-16
    • 2017-02-20
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    • 2012-08-27
    相关资源
    最近更新 更多