静态PHP环境:不用部署直接拿来用的PHP

意义

把 PHP 编译成可执行二进制文件,然后把可执行文件放到系统命令能搜索到的目录,比如 /usr/bin.
某种程度上来说,不用为部署 Linux 安装 PHP 环境费时费力了。
如果你喜欢用 宝塔 之类的工具,可能对你的意义不大。

项目地址

GitHub static-php-cli

文档地址

static-php-cli

快速体验

项目组已经提前编译好了一些可用的PHP版本,可以不用自己编译。点击访问

版本的选择:

  • 需要 php-fpm 来构建 Apaceh Or Nginx 传统部署,那么选择静态 php-fpm。
  • 单独只要一个运行PHP的环境,那么选择静态 php-cli。

使用示例

需求:需要一个PHP8.3的php-fpm环境

  1. 选择一个合适的静态 php-fpm:

静态PHP,一个可以运气PHP的环境

  1. 然后到下载到服务器:

    wget https://dl.static-php.dev/static-php-cli/common/php-8.3.6-fpm-linux-x86_64.tar.gz
  2. 解压

    tar -xvf php-8.3.6-fpm-linux-x86_64.tar.gz

    解压完目录就会有个可执行的 php-fpm.

  3. 查看已扩展

    dev@bigbug-gg ~> ./php-fpm -m
    [PHP Modules]
    bcmath
    bz2
    ...
    [Zend Modules]
  4. 移动到 /usr/bin 目录 或者 建立软链,方便命令查找

    也可以放到 /usr/local/bin ,然后建立软链接到 /usr/bin

  5. 看下效果

    dev@bigbug-gg ~> whereis php-fpm
    php-fpm: /usr/bin/php-fpm
    dev@bigbug-gg ~> php-fpm -v
    PHP 8.3.6 (fpm-fcgi) (built: May  7 2024 04:48:57)
    Copyright (c) The PHP Group
    Zend Engine v4.3.6, Copyright (c) Zend Technologies
    dev@bigbug-gg ~>
  6. 补充 php-fpm.conf 文件:
    *我通过AI给生成 /etc/php-fpm.conf ,然后根据 运行php-fpm,提示什么,就补充什么。

静态PHP环境:不用部署直接拿来用的PHP

  1. 具体过程
    dev@bigbug-gg > cd /etc/php/8.3/fpm/pool.d/
    dev@bigbug-gg > ls
    www.conf
    # 修改由AI生成的config
    dev@bigbug-gg > sudo vim /etc/php-fpm.conf
    # 修改完之后,运行 php-fpm, 报错提示什么,就补什么
    dev@bigbug-gg > sudo php-fpm
    ERROR: unable to bind listening socket for address '/run/php/php8.3-fpm.sock': No such file or directory (2)
    ERROR: FPM initialization failed
    # 没有这个目录创建即可
    dev@bigbug-gg > sudo mkdir -p /run/php
    # 再次尝试,没报错就是成功了
    dev@bigbug-gg > sudo php-fpm
    # 查看进程
    dev@bigbug-gg > ps -aux | grep php-fpm
    root 1725304 0.0 0.3 31644 28908 ? Ss 09:41 0:00 php-fpm: master process (/etc/php-fpm.conf)
    www-data 1725305 0.0 0.3 31652 28908 ? S 09:41 0:00 php-fpm: pool www
    www-data 1725306 0.0 0.3 31652 28908 ? S 09:41 0:00 php-fpm: pool www
    dev 1725331 0.0 0.0 7008 2176 pts/1 R+ 09:43 0:00 grep --color=auto php-fpm
    # 结束进程
    dev@bigbug-gg > sudo killall php-fpm
    # 检查是成功
    dev@bigbug-gg > ps -aux | grep php-fpm
    dev 1725375 0.0 0.0 7008 2048 pts/1 S+ 09:43 0:00 grep --color=auto php-fpm
    dev@bigbug-gg /e/p/8/f/pool.d>

结束

感谢开源的开发者们。我是通过看 webman手册 文档,才知道 静态PHP环境

本作品采用《CC 协议》,转载必须注明作者和本文链接
实干兴邦、力争上游
讨论数量: 2
  • 自己玩感觉还行,但是还是有些局限性,比如扩展支持、打包特定版本问题;

  • 但是也挺好的,虽然不是真正二进制,但是all in one 也非常不错;

2个月前 评论
bigbug-gg (楼主) 2个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
41
粉丝
13
喜欢
77
收藏
68
排名:286
访问:3.3 万
私信
所有博文
社区赞助商