PHP-X [编辑本页]

PHP-X是一个基于PHP ZendVM的C++封装层,可以基于PHP-X开发PHP扩展、C++嵌入PHP、PHP SAPI等程序。PHP-X可以大大降低PHP内核扩展开发的难度,提升效率。

环境依赖

  • PHP-7.0或更高版本
  • g++-4.8或更高版本或clang++,必须支持C++11标准
  • 仅支持 Linux/MacOS/Windows 3种平台
  • 仅支持 x86-64 架构
  • cmake-3.5或更高版本

编译安装

cmake .
make -j 4
sudo make install

可以通过cmake -DPHP_CONFIG_DIR=/opt/php/bin指定php-config的路径

MacOS

编译时需要修改Makefile,为g++/clang++增加-undefined dynamic_lookup编译参数


  • 秒秒安祥(xhc)

  • 灬白菜灬

    开始C++开发

  • saving……

    这个好

  • 飞鸿影

    用php-x写php扩展 | 鱼儿的博客 https://yuerblog.cc/2017/07/11/php-x-extension/

  • 飞鸿影

    编译示例里的cpp_ext扩展简单流程:

    1、编译PHP7
    2、将PHP-X clone后放到PHP源码根目录 
    3、先编译安装 php-x,会生成libphpx.so
    4、再编译cpp_ext扩展,生成cpp_ext.so
    5、`sudo cp /usr/local/lib/libphpx.so /usr/lib/`或者将`/usr/local/lib`加入ld.conf配置中。
    

  • Ma.Alex

    环境提示cmake 版本过低

    cmake source install as follows:
    
    0 cd ~
    
    1 wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
    
    2 tar xvf cmake-3.5.2.tar.gz
    
    This worked for me  then:
    
    3 cd cmake-3.4.3
    
    4 ./bootstrap --prefix=/usr
    
    这一步很关键,如果没有指定prefix,后面使用时会报错Could not find CMAKE_ROOT
    
    5 make
    
    6 sudo make install
    
    check:
    
    cmake --version
    
    [root@localhost cmake-3.5.2]# cmake --version
    cmake version 3.5.2
    
    CMake suite maintained and supported by Kitware (kitware.com/cmake).
    

  • Ma.Alex

    PHP 7.0 or later
    Linux/MacOS/Windows  
    CMake 3.5 or later. 
    GCC 4.8 or later 
    

    CMake 低版本升级

    cmake source install as follows:
    
    0 cd ~
    
    1 wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
    
    2 tar xvf cmake-3.5.2.tar.gz
    
    This worked for me  then:
    
    3 cd cmake-3.4.3
    
    4 ./bootstrap --prefix=/usr
    
    这一步很关键,如果没有指定prefix,后面使用时会报错Could not find CMAKE_ROOT
    
    5 make
    
    6 sudo make install
    
    check:
    
    cmake --version
    
    [root@localhost cmake-3.5.2]# cmake --version
    cmake version 3.5.2
    
    CMake suite maintained and supported by Kitware (kitware.com/cmake).
    
    

  • Ma.Alex

    各个系统需在结合这个 http://www.cnblogs.com/mophee/archive/2013/03/19/2969456.html