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