easysoft / phpmicro

micro sfx SAPI for php
Apache License 2.0
257 stars 30 forks source link

构建不了呢 #10

Closed TNT-ma closed 6 months ago

TNT-ma commented 1 year ago

[root@VM-12-15-centos php]#git clone https://github.com/easysoft/phpmicro.git sapi/micro

patch -p1 < sapi/micro/patches/disable_huge_page.patch can't find file to patch at input line 3 Perhaps you used the wrong -p or --strip option? The text leading up to this was:

|--- php-8.0.0/configure.ac 2020-11-25 01:04:03.000000000 +0800 |+++ php-8.0.0-micro/configure.ac 2020-11-29 20:00:13.256181206 +0800

File to patch: Skip this patch? [y] y

0

[root@VM-12-15-centos php]# make micro make: *** No rule to make target 'micro'. Stop. [root@VM-12-15-centos php]#

TNT-ma commented 1 year ago

make: *** No rule to make target 'micro'. Stop.

dixyes commented 1 year ago

micro是一个sapi,micro不是php解释器

你需要按照readme的指示构建micro

TNT-ma commented 1 year ago

micro是一个sapi,micro不是php解释器

你需要按照readme的指示构建micro

我好像有点明白了,如果构建动态的 micro ,是不是意味着,redis 等系列的so扩展 都不能内置了,都必须要动态加载?

dixyes commented 1 year ago

micro是一个sapi,micro不是php解释器 你需要按照readme的指示构建micro

我好像有点明白了,如果构建动态的 micro ,是不是意味着,redis 等系列的so扩展 都不能内置了,都必须要动态加载?

不是,仍然可以静态链接任意扩展,只要他们的config.m4/config.w32没有写歪来(如果写歪了可以摇我来修

TNT-ma commented 1 year ago

micro是一个sapi,micro不是php解释器 你需要按照readme的指示构建micro

我好像有点明白了,如果构建动态的 micro ,是不是意味着,redis 等系列的so扩展 都不能内置了,都必须要动态加载?

不是,仍然可以静态链接任意扩展,只要他们的config.m4/config.w32没有写歪来(如果写歪了可以摇我来修

太复杂了 -o sapi/micro/micro.sfx /usr/bin/ld: cannot find -lresolv collect2: error: ld returned 1 exit status make: *** [Makefile:311: sapi/micro/micro.sfx] Error 1

怎么都无法构建成功· 像:https://github.com/crazywhalecc/static-php-cli 这个能把它改成动态?

dixyes commented 1 year ago

可以用lwmbs 或者找一个现成的: https://github.com/dixyes/lwmbs/actions/runs/4571610889 micro或者micro-cli(它的sapi名称是cli,用于兼容一些php库)开头的,选shared glibc版本就行 它的扩展和static-php-cli的选择有所不同,比如我这个懒狗懒得填坑一直没做swoole(lib(std)c++的支持太痛苦了)