Php enable maintainer zts
Below is a partial list of configure options used by the PHP configure scripts when compiling in Unix-like environments. Most configure options are listed in their appropriate locations on the extension reference pages and not here. For a complete up-to-date list of configure options, run ./configure —help in your PHP source directory after running autoconf (see also the Installation chapter). You may also be interested in reading the » GNU configure documentation for information on additional configure options such as —prefix=PREFIX .
Note:
These are only used at compile time. If you want to alter PHP’s runtime configuration, please see the chapter on Runtime Configuration.
Configure Options in PHP
Misc options
Compile with debugging symbols.
—with-layout=TYPE
Sets how installed files will be laid out. Type is one of PHP (default) or GNU.
—with-pear=DIR
Install PEAR in DIR (default PREFIX/lib/php).
—without-pear
—enable-sigchild
Enable PHP’s own SIGCHLD handler.
—disable-rpath
Disable passing additional runtime library search paths.
—enable-libgcc
Enable explicitly linking against libgcc.
—enable-php-streams
Include experimental PHP streams. Do not use unless you are testing the code!
—with-zlib-dir[=DIR]
Define the location of zlib install directory.
—with-tsrm-pthreads
Use POSIX threads (default).
—enable-shared[=PKGS]
Build shared libraries [default=yes].
—enable-static[=PKGS]
Build static libraries [default=yes].
—enable-fast-install[=PKGS]
Optimize for fast installation [default=yes].
Assume the C compiler uses GNU ld [default=no].
—disable-libtool-lock
Avoid locking (might break parallel builds).
Try to use only PIC/non-PIC objects [default=use both].
—enable-versioning
Export only required symbols. See INSTALL for more information.
PHP options
Enable make rules and dependencies not useful (and sometimes confusing) to the casual installer.
—with-config-file-path=PATH
Sets the path in which to look for php.ini , defaults to PREFIX/lib .
—disable-short-tags
Specifies the directory where the libraries to build PHP exist on a Unix system. For 64bit systems, its needed to specify this argument to the lib64 directory like: —with-libdir=lib64 .
Enables thread safety. Prior to PHP 8.0.0 on non-Windows systems, the option was called —enable-maintainer-zts.
SAPI options
The following list contains the available SAPI&s ( Server Application Programming Interface ) for PHP.
—with-apxs[=FILE]
Build shared Apache module. FILE is the optional pathname to the Apache apxs tool; defaults to apxs. Make sure you specify the version of apxs that is actually installed on your system and NOT the one that is in the apache source tarball.
—with-apache[=DIR]
Build a static Apache module. DIR is the top-level Apache build directory, defaults to /usr/local/apache .
—with-mod_charset
Enable transfer tables for mod_charset (Russian Apache).
—with-apxs2[=FILE]
Build shared Apache 2.0 module. FILE is the optional pathname to the Apache apxs tool; defaults to apxs.
Disable building the CLI version of PHP (this forces —without-pear). More information is available in the section about Using PHP from the command line.
—enable-phpdbg
Enable phpdbg interactive debugger SAPI module support.
—enable-embed[=TYPE]
Enable building of the embedded SAPI library. TYPE is either shared or static , which defaults to shared .
—with-servlet[=DIR]
Include servlet support. DIR is the base install directory for the JSDK. This SAPI requires the java extension must be built as a shared dl.
Disable building CGI version of PHP.
This argument also enables FastCGI.
Php enable maintainer zts
Here is how I got it working under Linux Ubuntu distro — WITHOUT USE PECL:
We will download both, PHP and Pthread without PECL
1 — Get PHP version
For this example we will use version: 5.4.36
2- Get Pthreads version:
I’m using an old version but, you could take any one
Extract both, php and pthreads versions
#tar zxvf php-5.4.36.tar.gz
#tar zxvf pthreads-1.0.0.tgz
3- Move Pthreads to php/ext folder. Inside version of PHP downloaded at item 1.
4- Reconfigure sources
# ./buildconf —force
# ./configure —help | grep pthreads
You have to see —enable-pthreads listed. If do not, clear the buidls with this commands:
# rm -rf aclocal.m4
# rm -rf autom4te.cache/
# ./buildconf —force
5 — Inside php folder run configure command to set what we need:
# ./configure —enable-debug —enable-maintainer-zts —enable-pthreads —prefix=/usr —with-config-file-path=/etc
6 — Install PHP
We will run make clear just to be sure that no other crashed build will mess our new one.
# make clear
# make
# make install
7 — Copy configuration file of PHP and add local lib to include path
# cp php.ini-development /etc/php.ini
Edit php.ini and set Include_path to be like this:
9 — Check Modules
# php -m (check pthread loaded)
You have to see pthreads listed
10 — If pthread is not listed, update php.ini
# echo «extension=pthreads.so» >> /etc/php.ini