Table of Contents
Full records of compiling PHP5.4 and xdebug under Windows, php5.4xdebug
Home Backend Development PHP Tutorial Full records of compiling PHP5.4 and xdebug under Windows, php5.4xdebug_PHP tutorial

Full records of compiling PHP5.4 and xdebug under Windows, php5.4xdebug_PHP tutorial

Jul 13, 2016 am 09:58 AM
php5.4 windows xdebug compile

Full records of compiling PHP5.4 and xdebug under Windows, php5.4xdebug

In fact, my ultimate goal is to compile php_xdebug.dll that supports PHP5.4, but before that , is necessary to successfully compile PHP5.4.

Compilation environment and related software packages:
1.Microsoft Visual C 2008 Express Edition with SP1
2.Windows SDK 6.1
3.PHP SDK Binary Tools
4.Dependable libs
5.PHP5.4 Sources
6.Xdebug 2.2.0-dev
If you need the VC6 compilation environment, then you need to install Visual C 6.0, and the SDK needs to be replaced with:
Windows Server 2003 PSDK

Compilation process:

Get your coffee and cola ready, it may take several hours...

Install VC 2008 and Windows SDK 6.1

Create the following directory:
Copy code The code is as follows:
D:php-sdk
D:php-sdkphp54dev
D:php-sdkpecl

Unzip all files in php-sdk-binary-tools-20110915.zip to D:php-sdk
Extract the deps directory in deps-5.4-vc9-x86.7z to D:php-sdkphp54dev
Unzip the php5.4 source code to D:php-sdkphp54dev, and choose any directory name, such as php-5.4.0RC3
The source code of xdebug is placed in D:php-sdkpeclxdebug

The final directory structure probably looks like this:
Copy code The code is as follows:
D:php-sdk>tree D:php-sdk
Folder PATH listing for volume DISK_VOL2
Volume serial number is 0C74-AD73
D:PHP-SDK
├───bin
├───php54dev
│ ├───deps
│ │ ├───bin
│ │ ├───include
│ │ ├───lib
│ │ └───sybase
│ ├───pecl
│ │ └───xdebug
│ └───php-5.4.0RC3
├───script
└───share

Open the Windows SDK CMD Shell and execute: setenv /x86 /xp /release. If you are a 64-bit system, this command is necessary. Do not try to change the parameters to /x64, otherwise you will Saw thousands of WARNINGs…

Set PATH: set PATH=D:php-sdkbin;%PATH%

Switch the SHELL directory to D:php-sdkphp54devphp-5.4.0RC3> and execute buildconf to generate the configure script:
Copy code The code is as follows:
D:php-sdkphp54devphp-5.4.0RC3>buildconf
Rebuilding configure.js
Now run 'configure --help'
D:php-sdkphp54devphp-5.4.0RC3>

Execute configure to generate the Make script. You can view configure –help for more compilation options:
Copy code The code is as follows:
D:php-sdkphp54devphp-5.4.0RC3>configure --disable-snapshot-build --disable-debug-pack --disable-ipv6 --disable-zts --disable-isapi --disable-nsapi --without-t1lib --without-mssql --without-pdo-mssql --without-pi3web --without-enchant --enable-com-dotnet --with-mcrypt=static --disable-static-analyze --with-xdebug=shared

Here I used –disable-snapshot-build to turn off the snapshot mode, because this command will force open many options that are useless to me, such as aolserver, apache sapi, etc. Finally, I added –with-xdebug= shared. Before using this option, it is best to confirm that the location of the xdebug source code is correct. If there is no problem, you can see this option in configure –help after buildconf. Shared means compiling into a dynamic link library.

If you want to compile other pecl extensions (such as apc, bcompiler, etc.), you only need to download the relevant source code and put it in the pecl directory and re-execute buildconf.

If there is no problem with configure, finally execute nmake to start the compilation process, Good Luck! :)

The last step is nmake snap, which organizes the directory structure of all compiled files (that is, the structure of the PHP binary package you usually download) and packages it with zip.

The final generated file location: D:php-sdkphp54devphp-5.4.0RC3Release(_TS)

Error handling:
A lot of Warnings will be generated during the nmake process. As long as they are not interrupted, just ignore them.

About the encoding issues of calendar.c and jewish.c:
Copy code The code is as follows:
extcalendarcalendar.c : warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
dow.c
easter.c
french.c
gregor.c
jewish.c
extcalendarjewish.c : warning C4819: The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss
extcalendarjewish.c(324) : error C2001: newline in constant
extcalendarjewish.c(325) : error C2001: newline in constant
extcalendarjewish.c(326) : error C2001: newline in constant
extcalendarjewish.c(327) : error C2001: newline in constant
NMAKE: fatal error U1077: '"C:Program Files (x86)Microsoft Visual Studio 9.0VCBincl.exe"' : return code '0x2'
Stop.

These two files use ANSI encoding and contain some Western special characters that do not exist in the GBK character set.
It can be opened with editplus, encoding selection: West European (Windows), and saved as UTF-8.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/978729.htmlTechArticleFull records of compiling PHP5.4 and xdebug under Windows, php5.4xdebug In fact, my ultimate goal is to compile and support PHP5 .4's php_xdebug.dll, and before that, successfully compiling PHP5.4 is necessary. ...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1664
14
PHP Tutorial
1268
29
C# Tutorial
1248
24
How to copy and paste mysql How to copy and paste mysql Apr 08, 2025 pm 07:18 PM

Copy and paste in MySQL includes the following steps: select the data, copy with Ctrl C (Windows) or Cmd C (Mac); right-click at the target location, select Paste or use Ctrl V (Windows) or Cmd V (Mac); the copied data is inserted into the target location, or replace existing data (depending on whether the data already exists at the target location).

Can vs code run in Windows 8 Can vs code run in Windows 8 Apr 15, 2025 pm 07:24 PM

VS Code can run on Windows 8, but the experience may not be great. First make sure the system has been updated to the latest patch, then download the VS Code installation package that matches the system architecture and install it as prompted. After installation, be aware that some extensions may be incompatible with Windows 8 and need to look for alternative extensions or use newer Windows systems in a virtual machine. Install the necessary extensions to check whether they work properly. Although VS Code is feasible on Windows 8, it is recommended to upgrade to a newer Windows system for a better development experience and security.

How to run sublime after writing the code How to run sublime after writing the code Apr 16, 2025 am 08:51 AM

There are six ways to run code in Sublime: through hotkeys, menus, build systems, command lines, set default build systems, and custom build commands, and run individual files/projects by right-clicking on projects/files. The build system availability depends on the installation of Sublime Text.

How to solve complex BelongsToThrough relationship problem in Laravel? Use Composer! How to solve complex BelongsToThrough relationship problem in Laravel? Use Composer! Apr 17, 2025 pm 09:54 PM

In Laravel development, dealing with complex model relationships has always been a challenge, especially when it comes to multi-level BelongsToThrough relationships. Recently, I encountered this problem in a project dealing with a multi-level model relationship, where traditional HasManyThrough relationships fail to meet the needs, resulting in data queries becoming complex and inefficient. After some exploration, I found the library staudenmeir/belongs-to-through, which easily installed and solved my troubles through Composer.

Which operating systems are supported by Tigervnc in Debian Which operating systems are supported by Tigervnc in Debian Apr 12, 2025 pm 10:15 PM

The open source VNC tool Tigervnc is compatible with a wide range of operating systems, including Windows, Linux, and macOS. This article will introduce in detail the application of Tigervnc on the Debian system. Tigervnc is integrated in the application system of Debian system: In the Debian system, Tigervnc is integrated into the system as a VNC server component. Users can start VNC services through command line tools such as vncserver and customize display settings such as resolution and color depth. Cross-platform connection: Tigervnc client supports Windows, Linux, and macOS, which means users can run this from any

laravel installation code laravel installation code Apr 18, 2025 pm 12:30 PM

To install Laravel, follow these steps in sequence: Install Composer (for macOS/Linux and Windows) Install Laravel Installer Create a new project Start Service Access Application (URL: http://127.0.0.1:8000) Set up the database connection (if required)

Recommended system maintenance and optimization tools in Mac system Recommended system maintenance and optimization tools in Mac system Apr 12, 2025 pm 04:45 PM

Mac system maintenance includes: disk management (use OmniDiskSweeper to clean disk space, use disk tools to check disk errors) memory management (use Activity Monitor to monitor memory usage, end over-occupying processes) startup item management (use Linc or LaunchControl to manage startup items, disable unnecessary startup items) system cache cleaning (use CleanMyMac X or manually clean system cache) software update (timely update system and applications) regular backup (use Time Machine to backup data regularly) good usage habits (not installing applications excessively, cleaning files regularly, and monitoring system logs)

vscode cannot install extension vscode cannot install extension Apr 15, 2025 pm 07:18 PM

The reasons for the installation of VS Code extensions may be: network instability, insufficient permissions, system compatibility issues, VS Code version is too old, antivirus software or firewall interference. By checking network connections, permissions, log files, updating VS Code, disabling security software, and restarting VS Code or computers, you can gradually troubleshoot and resolve issues.

See all articles