※事前に--enable-embedでビルドしたPHPが必要

PHPスクリプトを実行するC++プログラムを作成

#include <sapi/embed/php_embed.h>

int main(int argc, char* argv[]) {
    PHP_EMBED_START_BLOCK(argc, argv);

    zend_file_handle script;
    script.type = ZEND_HANDLE_FP;
    script.filename = (char*)"a.php";
    script.opened_path = NULL;
    script.free_filename = 0;
    script.handle.fp = fopen(script.filename, "rb");

    zend_try {
        zend_execute_scripts(ZEND_REQUIRE TSRMLS_CC, NULL,  1, &script)
    } zend_catch {

    } zend_end_try();


    PHP_EMBED_END_BLOCK();

    return 0;
}

以下を実行してコンパイル

g++ `/opt/php/bin/php-config --includes` -L/opt/php/lib -lphp5 test.cc

コンパイルされたプログラムを実行するとC++側でPHPスクリプトを実行した結果が出力される