After upgrading to Apache-2.4 and rebuilding php, I'm seeing problems with apache-php loading modules: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php5.3/lib/extensions/no-debug-zts-20090626/uploadprogress.so' - /usr/lib64/php5.3/lib/extensions/no-debug-zts-20090626/uploadprogress.so: cannot open shared object file: No such file or directory in Unknown on line 0 In this case it's because the modules are being built and put into the "no-debug-no-zts-20090626" directory - but php is not looking in there as it was built with zts. This is happening because php is being built incorrectly due to the misdetection of zts as it uses the apxs command which is part of apache - refer to the URL/bug above for more details and a patch. This patch needs to be applied to php-5.3 and php-5.4 so that php is built correctly. Reproducible: Always Steps to Reproduce: 1. Rebuild php after upgrading to Apache-2.4 (prior to Apache-2.4 this wasn't a problem) Actual Results: php is build WITHOUT zts. Expected Results: php should be built WITH zts. This is a problem manifested in php but caused by a change to Apache.
Patch at: https://bugs.php.net/patch-display.php?bug_id=61172&patch=bug61172.patch.txt&revision=latest root@tornado ~ # emerge --info Portage 2.1.10.54 (default/linux/amd64/10.0/no-multilib, gcc-4.6.2, glibc-2.14.1-r2, 3.3.0-gentoo x86_64) ================================================================= System uname: Linux-3.3.0-gentoo-x86_64-Intel-R-_Core-TM-_i7_CPU_860_@_2.80GHz-with-gentoo-2.1 Timestamp of tree: Tue, 03 Apr 2012 08:30:01 +0000 app-shells/bash: 4.2_p24 dev-lang/python: 2.7.2-r3, 3.2.2-r1 dev-util/cmake: 2.8.7-r5 dev-util/pkgconfig: 0.26 sys-apps/baselayout: 2.1 sys-apps/openrc: 0.9.9.3 sys-apps/sandbox: 2.5 sys-devel/autoconf: 2.68 sys-devel/automake: 1.11.4 sys-devel/binutils: 2.22-r1 sys-devel/gcc: 4.6.2 sys-devel/gcc-config: 1.6 sys-devel/libtool: 2.4.2 sys-devel/make: 3.82-r3 sys-kernel/linux-headers: 3.3 (virtual/os-headers) sys-libs/glibc: 2.14.1-r2 Repositories: gentoo Local-Overlay ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -march=native -mtune=native" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo" CXXFLAGS="-O2 -pipe -march=native -mtune=native" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--autounmask=n --quiet-build=n" FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles metadata-transfer news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" FFLAGS="" GENTOO_MIRRORS="http://mirror.ipv6.internode.on.net/pub/gentoo http://distfiles.gentoo.org" LANG="en_AU.utf-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="acl amd64 apache2 bash-completion berkdb bzip2 cairo cgi cli cracklib crypt cups curl cxx dri fortran gd gdbm geoip gif gmp gpm hardened iconv ipv6 jpeg logrotate mmx modules mudflap mysql mysqli ncurses nls nptl nptlonly openmp pam pcre php png pppd readline samba sasl savedconfig session snmp spell sqlite3 sse sse2 ssl subversion sysfs tcpd threads tiff truetype unicode vhosts xinetd xorg zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" GRUB_PLATFORMS="pc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3 php5-4" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS root@tornado ~ #
Created attachment 307603 [details, diff] fix from php.net updated to gentoo php-5.3.10-r2
(In reply to comment #2) > Created attachment 307603 [details, diff] [details, diff] > fix from php.net updated to gentoo php-5.3.10-r2 attached patch worked for me, I had to update original patch for gentoo php-5.3.10-r2 just add this file to: /etc/portage/patches/dev-lang/php
Excellent Pavol, thankyou for this. Confirmed that this fixes the problem - php-5.3 builds and runs properly with your patch applied.
For now, please use the patch manually as described above. Unless apache 2.4 should suddenly decide to go stable, I will wait for a new release from upstream. They should start to roll out one right about now. Also, php-5.4.1_rc1 should already contain this fix.
Without this patch PHP compiles with thread safe, with thread safe you cannot use the zend debugger as it fails with "Failed loading /etc/php/ZendDebugger_53x.so: /etc/php/ZendDebugger_53x.so: undefined symbol: output_globals". This took me a bit to track down the issue and I doubt I'm alone in it, please push the patch.
Additionally there is currently no zend debugger for 5.4, so just "use php 5.4" does not apply here. debugger - http://www.zend.com/en/products/studio/downloads
PHP 5.3.11 is in RC phase. It will contain this fix as far as I can tell.