Embed
VM
类就是ZendVM
虚拟机环境,构造方法中自动初始化VM
。由于使用了大量全局变量,一个进程内只能创建一个VMVM
对象析构时自动销毁ZendVM
VM
初始化后,可以在C++
程序中调用中提供的接口与PHP进行交互
编译程序
PHP_INCLUDE = `php-config --includes`
PHP_LIBS = `php-config --libs`
PHP_LDFLAGS = `php-config --ldflags`
all: embed.cpp
c++ -DHAVE_CONFIG_H -g -o embed -O0 embed.cpp -std=c++11 ${PHP_INCLUDE} ${PHP_LDFLAGS} -lphp7 -lphpx ${PHP_LIBS}
-lphp7
载入PHP7
的动态连接库-lphpx
载入动态连接库