ZTS support is a configure time option and can not be enabled at run time. You’ll need to build php yourself with the --enable-maintainer-zts
flag in order to enable it.
One way to do this is to modify the existing package and rebuild it. First we’ll need to install and download a few things:
Install the build dependencies:
- sudo apt-get build-dep php5
Install the developer tools:
- sudo apt-get install devscripts
Download the source:
Now enter the source directory and edit the debian/rules
file:
- cd php5-5.5.9+dfsg/ # The version will be different depending on the Ubuntu release
- nano debian/rules
Find the section starting with COMMON_CONFIG=--build=$(DEB_BUILD_GNU_TYPE) \
and add the following configure flags:
- --enable-maintainer-zts \
- --enable-pthreads \
Then we want to bump the version number for the package, so that it is higher than the version of PHP in the repository. Run dch -i
and create a new changelog entry:
- php5 (5.5.9+dfsg-1ubuntu4.5+zts1) trusty; urgency=medium
-
- * Rebuild with ZTS support.
-
- -- You <doesnt@matter.com> Mon, 10 Nov 2014 13:14:32 -0500
Now the package can be built using the command:
- DEB_BUILD_OPTIONS=nocheck debuild
This will take quite awhile and will also require some memory. If you’re on a 512mb server, you’ll probably need to add some swap.
It will produce a number of packages in the parent directory:
You can now install the individual packages with sudo dpkg -i pakage_name.deb
or all of them with sudo dpkg -i *deb