mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-03-18 04:44:53 +08:00
60 lines
2.3 KiB
Markdown
60 lines
2.3 KiB
Markdown
# Modifications to PHP source code
|
|
|
|
During the static compilation process, static-php-cli made some modifications to the PHP source code
|
|
in order to achieve good compatibility, performance, and security.
|
|
The following is a description of the current modifications to the PHP source code.
|
|
|
|
## Micro related patches
|
|
|
|
Based on the patches provided by the phpmicro project,
|
|
static-php-cli has made some modifications to the PHP source code to meet the needs of static compilation.
|
|
The patches currently used by static-php-cli during compilation in the [patch list](https://github.com/easysoft/phpmicro/tree/master/patches) are:
|
|
|
|
- static_opcache
|
|
- static_extensions_win32
|
|
- cli_checks
|
|
- disable_huge_page
|
|
- vcruntime140
|
|
- win32
|
|
- zend_stream
|
|
- cli_static
|
|
- macos_iconv
|
|
- phar
|
|
|
|
## PHP <= 8.1 libxml patch
|
|
|
|
Because PHP only provides security updates for 8.1 and stops updating older versions,
|
|
static-php-cli applies the libxml compilation patch that has been applied in newer versions of PHP to PHP 8.1 and below.
|
|
|
|
## gd extension Windows patch
|
|
|
|
Compiling the gd extension under Windows requires major changes to the `config.w32` file.
|
|
static-php-cli has made some changes to the gd extension to make it easier to compile under Windows.
|
|
|
|
## YAML extension Windows patch
|
|
|
|
YAML extension needs to modify the `config.w32` file to compile under Windows.
|
|
static-php-cli has made some modifications to the YAML extension to make it easier to compile under Windows.
|
|
|
|
## static-php-cli version information insertion
|
|
|
|
When compiling, static-php-cli will insert the static-php-cli version information into the PHP version information for easy identification.
|
|
|
|
## Add option to hardcode INI
|
|
|
|
When using the `-I` parameter to hardcode INI into static PHP functionality,
|
|
static-php-cli will modify the PHP source code to insert the hardcoded content.
|
|
|
|
## Linux system repair patch
|
|
|
|
Some compilation environments may lack some system header files or libraries.
|
|
static-php-cli will automatically fix these problems during compilation, such as:
|
|
|
|
- HAVE_STRLCAT missing problem
|
|
- HAVE_STRLCPY missing problem
|
|
|
|
## Fiber issue fix patch for Windows
|
|
|
|
When compiling PHP on Windows, there will be some issues with the Fiber extension.
|
|
static-php-cli will automatically fix these issues during compilation (modify `config.w32` in php-src).
|