PHP嵌入式开发学习小记

出于技术储备和团队目前架构走向等多方面因素,决定稍稍研究下PHP嵌入式开发,入个门。php

下载最新的PHP源码,编译,安装,笔者系统Ubuntu 16。linux

在macOS折腾了下,各类问题,决定老老实实用linux,等之后熟练了,在折腾macOS,毕竟这上面开发工具比较方便c++

编译安装PHPapi

./configure --enable-embed
make
make install
cp ./libs/libphp7.so /lib/

Hello Worldphp7

#include "sapi/embed/php_embed.h"
#include <unistd.h>
 
int main(int argc, char * argv[]){
    PHP_EMBED_START_BLOCK(argc,argv);
    char * script = " echo 'Hello World!',PHP_EOL;";
    while (true){
        zend_eval_string(script, NULL, "Hello World!" TSRMLS_CC);
        sleep(1);
    }
    PHP_EMBED_END_BLOCK();
    return 0;
}

编译架构

gcc -o embed main.c -I/usr/local/include/php/ -I/usr/local/include/php/main  -I/usr/local/include/php/Zend -I/usr/local/include/php/TSRM -Wall -g -lstdc++ -L/usr/local/lib -lphp7

运行工具

./embed

输出结果开发工具

Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!

更多架构、PHP、GO相关踩坑实践技巧请关注个人公众号:PHP架构师code