出于技术储备和团队目前架构走向等多方面因素,决定稍稍研究下PHP嵌入式开发,入个门。
下载最新的PHP源码,编译,安装,笔者系统Ubuntu 16。
在macOS折腾了下,各种问题,决定老老实实用linux,等以后熟练了,在折腾macOS,毕竟这上面开发工具比较方便
编译安装PHP
./configure --enable-embed
make
make install
cp ./libs/libphp7.so /lib/
Hello World
#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架构师