Wrapper for PHP extensions.
C++ Other
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config.w32
src
.appveyor.yml
.travis.yml
CHANGELOG.md
Details.props
LICENSE
Makefile
README.md
TODO.md
Windows.targets
ZNDq.php
composer.json
config.m4
test.php
zndq.vcxproj
zndq.xcfg
zndq.xlcl

README.md

ZNDq

Zend (PHP) native extensions wrapper.

For more information, see http://q37.info/tools/zndq/.

GNU/Linux: Travis CI

Windows: AppVeyor


For the core developer and maintainer

POSIX

For POSIX systems, you have to use the standard procedure for PHP extensions, namely :

  • phpize,
  • ./configure,
  • make.

To generate the right config.m4 file, launch DVLGenM4.

It should be possible to replace the epeios directory in the config.m4 file with a macro, but there is a flaw in the generation of the Makefile when using ./configure, which not correctly handles macro containing a dot (.). The macro can also not contain an absolute path. This leads to the creation of a link from the stable directory for the Epeios framework to the epeios path in this tool's development directory.

Windows

To generate the files for Visual Studio, use the usual DVLGenVC command.

This command is enough to regenerate the zndq.vcxproj(.filters)] files. However, if there is a change in the procedure which generates the files to build a PHP extension under Windows, you have to adapt the proper files used by the DVLGenVC command. For this, you probably will need a file named config.w32. This file can be found under the config.w32 directory (it has to be in a sub-directory in order to be take in account), and is also generated by the DVLGenM4command.

Note that this config.w32 file is needed by AppVeyor.

To compile PHP, open a DOS (not a Cygwin one) console in the PHP source directory and launch :

  • "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat",
  • set PATH=%PATH%;C:\Program Files (x86)\GnuWin32\bin
  • buildconf.bat
  • configure.bat
  • nmake --disable-all --enable-cli.