From Fedora Project Wiki

< PackagingDrafts

Revision as of 21:09, 25 January 2012 by Remi (talk | contribs) (drop /usr/bin/php-zts subfolder for better FHS respect)

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

[[TableOfContents(3)]

Proposed Changes to PHP Guidelines

Synopsis

This page describes items that need to be changed in the PHP Guidelines or other items that need to be reviewed or ratified by the Fedora Packaging Comittee and FESCo .


Actual Guidelines

Macros and scriptlets

No information on macro provided by php-devel

Change proposal

Macros and scriptlets

PHP ZTS extension

When apache run in worker mode (instead of prefork mode), the ZTS (Zend Thread Safe) version of PHP is used.

If an extension maintainer want to provides a ZTS version of this extension, he must ensure that - the extension is thread safe - the libraries used by the extension are thread safe

The php-devel package in fedora >= 17 (5.4.0) provides the necessary files to build ZTS modules and provides several new macros:

For standard (NTS) extensions

%{__php}          %{_bindir}/php
%{php_extdir}     %{_libdir}/php/modules
%{php_inidir}     %{_sysconfdir}/php.d
%{php_incldir     %{_includedir}/php

For ZTS extensions

%{__ztsphp}       %{_bindir}/php-zts
%{php_ztsextdir}  %{_libdir}/php-zts/modules
%{php_ztsinidir}  %{_sysconfdir}/php-zts.d
%{php_ztsincldir  %{_includedir}/php-zts/php

php-devel provides the executables needed during the build of a ZTS extension, which are:

  • phpize-zts
  • php-config-zts
  • php-zts (which is only useful to run test suite during build)