1. unzip PHP-sdk to directory E: \ tang \ php_stdio \ php-sdk2, set vs2013 compiler environment variable: Open the cmd window, run vcvarsall. bat (the path is determined based on the installation path of vs) 3. create a development Directory: compile PHP
1. decompress php-sdk to the directory E: \ tang \ php_stdio \ php-sdk
2. set the vs2013 compiler environment variable: Open the cmd window and run vcvarsall. bat (the path is determined based on the installation path of)
3. create a development Directory:
Run the command prompt tool on vs2013. Note that if 64-bit is compiled, open the command prompt tool on vs2013 x64, which is x64. Switch to the E: \ tang \ php_stdio \ php-sdk directory and run:
Bin \ phpsdk_setvars.bat
Bin \ phpsdk_buildtree.bat php55dev-x64
After running, an additional php55dev-x64 directory is added to the E: \ tang \ php_stdio \ php-sdk directory.
4. decompress deps to the following Directory:
E: tang \ php_stdio \ php-sdk \ php55dev-x64 \ vc9 \ x64 \
All subdirectories in the deps directory under this directory are empty. after decompression, copy them to many necessary library files for modules/extensions.
5. Next, copy the PHP-5.5.38 source code directory to the following Directory:
E: \ tang \ php_stdio \ php-sdk \ php55dev-x64 \ vc9 \ x64 \
6. go to the php source code directory.
Cd E: \ tang \ php_stdio \ php-sdk \ php55dev-x64 \ vc9 \ x64 \ php-5.5.38
Run
Buildconf
Then you can compile php first. At the very beginning, we usually compile as few modules as possible so that the core can be compiled properly:
Configure-disable-all-enable-cli
7. compile PHP and execute
Nmake
So far, the core part of php and a command line tool are compiled.
Develop PHP extension test_extension
The basic structure of PHP extension is the same. for the convenience of PHP Development, ext_skel and ext_skel_win32.php are the extension framework building tools in linux and windows respectively. This article describes how to build a PHP extension development environment in Windows, so ext_skel_win32.php is used. With the extension framework generated by it, you can directly use VS to open the code for writing and compiling. The procedure is as follows:
1. switch to the ext Directory:
Cd E: \ tang \ php_stdio \ php-sdk \ php55dev-x64 \ vc9 \ x64 \ php-5.5.38 \ ext
2. create the file test_extension.def in the directory. the file content is the extended function to be exported, as shown below:
int a(int x, int y)string b(string str, int n)
3. run the command to generate the extension framework
Php.exe ext_skel_win32.php-extname = test_extension-proto = test_extension.def
The test_extension directory is generated.
4. go to the test_extension directory and use vs2013 to open the test_extension.dsp project file. If the 64-bit extension is compiled, change the attribute to x64 platform. Generate php_test_extension.dll after compilation.
5. put php_test_extension.dll to the ext directory of PHP, and add extension = php_test_extension.dll to the php. ini file.
6. test
Run php.exe test_extension.php (test_extnesion.php is under the generated extension framework directory)
If the extension call is successful, the following error occurs:
Functions available in the test extension:confirm_test_extension_compiledabCongratulations! You have successfully modified ext/test_extension/config.m4. Module test_extension is now compiled into PHP.
A simple PHP extension is developed in this way. pay attention to the following points:
1. pay attention to the number of file digits, 32-bit or 64-bit, which must correspond to the PHP version.
2. Note that the extension must use the same version of the compiler as PHP.
The above is a detailed description of PHP extension development-windows development environment setup. For more information, see other related articles in the first PHP community!