looking on the phpinfo()-output shows that no turck-mmcache-zend_extension is loaded. Only the php-cli version shows the right output. No error messages are shown in the apache-error-log, only when the mmcache.so is intergrated as a normal extension (php.ini "extension=mmcache.so" + right extension_dir) the error appears that the module could not be loaded. But this way to produce this error doesn
looking on the phpinfo()-output shows that no turck-mmcache-zend_extension is loaded. Only the php-cli version shows the right output. No error messages are shown in the apache-error-log, only when the mmcache.so is intergrated as a normal extension (php.ini "extension=mmcache.so" + right extension_dir) the error appears that the module could not be loaded. But this way to produce this error doesn´t count, as it is said to include the extension with "zend_extension=/usr/lib/extensions/no-debug-non-zts-20020429/mmcache.so" in php.ini. I also tried "zend_extension_ts=/usr/..", with no success. Reproducible: Always Steps to Reproduce: 1. 2. 3. emerge -pv =apache-2.0.52-r2 These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] net-www/apache-2.0.52-r2 +berkdb -debug -doc -gdbm +ipv6 +ldap +php +ssl -static +threads 0 kB ------------------------------------------------------------------------------- # emerge -pv turck-mmcache These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] dev-php/turck-mmcache-2.4.6 0 kB ------------------------------------------------------------------------------- # emerge -pv mod_php These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] dev-php/mod_php-4.3.10 +X +apache2 +berkdb +crypt +curl -debug -doc -fdftk -firebird -flash -freetds +gd -gd-external -gdbm -gmp -hardenedphp +imap -informix +ipv6 -java +jpeg -kerberos +ldap -mcal -memlimit -mssql +mysql +nls -oci8 +odbc +pam +pdflib +png -postgres +qt -snmp +spell +ssl +tiff +truetype +xml2 -yaz 0 kB ------------------------------------------------------------------------------ # emerge --info Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.3.4, glibc-2.3.4.20050125-r0, 2.6.10-gentoo-r6 i686) ================================================================= System uname: 2.6.10-gentoo-r6 i686 AMD Athlon(tm) XP 2800+ Gentoo Base System version 1.6.9 Python: dev-lang/python-2.3.5 [2.3.5 (#1, Feb 26 2005, 18:39:17)] dev-lang/python: 2.3.5 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r4 sys-devel/libtool: 1.5.10-r5 virtual/os-headers: 2.4.22-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-mcpu=athlon-xp -O3 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-mcpu=athlon-xp -O3 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig buildpkg ccache digest distlocks fixpackages sfperms" GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo http://gentoo.mirrors.pair.com ftp://gentoo.mirrors.pair.com" LANG="de_AT@euro" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/overlays/local /usr/local/portage/overlays/gentoo-de" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow 3dnowex X X509 Xaw3d aac aalib acl acpi acpi4linux aim alsa apache2 async audiofile avi bash-completion bdf berkdb bindist bitmap-fonts calendar cap caps cddb cdparanoia cdrom chroot codecs crypt css cups curl curlwrappers dba devmap dga dio divx4linux drac dts dv dvd dvdr emboss encode esd evms2 evo exif f77 faac faad fam fbcon fbdev ffmpeg flac flatfile fltk fluidsynth fmod font-server foomaticdb foreign-package foreign-sysvinit fortran freetype ftp gb gcj gd gif gimp gimpprint gpm graphviz gs gtk gtk2 icq idea ieee1394 imagemagick imap imlib imlib2 inifile innodb insecure-drivers ipv6 ipv6arpa jabber javascript jbig jp2 jpeg lcms ldap libg++ libsamplerate libwww live lm_sensors lufsusermount lzo lzw lzw-tiff mad maildir mbox mdb mikmod mime mmap mmx mng motif mozcalendar mozp3p mozsvg mozxmlterm mp3 mpeg mpeg4 mpi mplayer msn mysql ncurses network nls no-htdocs ntlm odbc oggvorbis opengl pam pcre pdflib perl php png pnp posix pthreads python qt quicktime readline real rtc ruby samba sasl sdl shared sharedmem slang slp sockets socks5 sox speedo spell sse ssl svg svga sysvipc szip tcpd tga threads tidy tiff transcode truetype truetype-fonts type1 type1-fonts usb v4l2 vcd winbind wmf xanim xfs xine xinerama xml2 xmlrpc xmms xosd xpm xsl xv xvid zlib video_cards_3dfx video_cards_gamma video_cards_i810 video_cards_i830 video_cards_matrox video_cards_rage128 video_cards_radeon video_cards_sis" Unset: ASFLAGS, CBUILD, CTARGET, LC_ALL, LDFLAGS
Could it be the case that you recently updated mod_php and need to re-emerge turck-mmache to build against the new mod_php?
hi sven once again, alright I re-emerged turck-mmcache, now an error message in the apache-error log appears: --------------------------------------------------------------------------- # /etc/init.d/apache2 restart * Stopping apache2 ... [ ok ] Failed loading /usr/lib/extensions/no-debug-non-zts-20020429/mmcache.so: /usr/lib/extensions/no-debug-non-zts-20020429/mmcache.so: undefined symbol: output_globals Failed loading /usr/lib/extensions/no-debug-non-zts-20020429/mmcache.so: /usr/lib/extensions/no-debug-non-zts-20020429/mmcache.so: undefined symbol: output_globals [Mon Feb 28 16:38:38 2005] [notice] caught SIGTERM, shutting down Failed loading /usr/lib/extensions/no-debug-non-zts-20020429/mmcache.so: /usr/lib/extensions/no-debug-non-zts-20020429/mmcache.so: undefined symbol: output_globals * Starting apache2 ... [ ok ] # [Mon Feb 28 16:38:41 2005] [notice] Digest: generating secret for digest authentication ... [Mon Feb 28 16:38:41 2005] [notice] Digest: done [Mon Feb 28 16:38:42 2005] [notice] Apache/2.0.52 (Gentoo/Linux) mod_ssl/2.0.52 OpenSSL/0.9.7e PHP/4.3.10 configured -- resuming normal operations ---------------------------------------------------------------------------- still no right output with phpinfo() as initialy mentioned. Interessting is that this error message appeared the first time after remerging turck-mmcache. after this it never appeared again in the logs; now it runs like I explained in my first message for this bug. Very strange! Maybe its a good idea to mention that I also suffer under the "to-much-apache-processes"-bug (http://bugs.gentoo.org/show_bug.cgi?id=81161)
> Sven Wegener 2005-02-28 07:12 PST ------- > Could it be the case that you recently updated mod_php and need to re-emerge > turck-mmache to build against the new mod_php? shouldn
> Sven Wegener 2005-02-28 07:12 PST ------- > Could it be the case that you recently updated mod_php and need to re-emerge > turck-mmache to build against the new mod_php? shouldn´t the portage system catch this?
No, portage has no reverse-dependencies yet. and revdep-rebuilt doesn't catch it because it's no broken library, turck-mmache checks the php version and refuses to work with other php versions than it was compiled against. Just a rough guess: Are you using the worker MPM? Or any other MPM that uses threads?
as you can see in the "emerge -pv =apache-2.0.52-r2"-output above the "+threads"-use-flag is on. So I assume that my apache-installation supports threads. The compiled MPM-modules can be listed with this: # apache2 -l Compiled in modules: core.c worker.c http_core.c mod_so.c so actually worker is set here. The "tread"-USE-Flag determines if any MPM-modules should be compiled into apache? How could I choose, let say between worker and preforked? What conflicts is this producing here?
Ah, due to the line wrap I oversaw the rest of the emerge output line. if use threads; then einfo "Enabling threads support" myconf="${myconf} --with-mpm=worker" else myconf="${myconf} --with-mpm=${MPM:=prefork}" fi You choose at build time which to use. If USE="threads" the worker MPM will be used. If USE="-threads" the default is prefork, but may be overwritten by the MPM variable. To me it looks like turck-mmcache is incompatible with MPMs that use threads.
Right prediction, sven. I re-emerged apache whithout the threads-flag, after that the same with mod_php and turck-mmcache. Now the apache-server runs with MPM-preforked and the phpinfo() gives the right output. So the turck-mmcache
Right prediction, sven. I re-emerged apache whithout the threads-flag, after that the same with mod_php and turck-mmcache. Now the apache-server runs with MPM-preforked and the phpinfo() gives the right output. So the turck-mmcache´s ebuild and probably many more (for instance xdebug) must include some code similar to that one you droped in the last post. A way would be to check with what USE-flags apache itself was emerged (USE="-threads" emerge ...).
I have tried both turck-mmcache and eaccelerator with mod-php/4.3.10-r1 and neither of then works. Exactly the same behaviour like in this bug
I have tried both turck-mmcache and eaccelerator with mod-php/4.3.10-r1 and neither of then works. Exactly the same behaviour like in this bug´s description. Testing apache-2.0.53 with prefork, no threads flag is set. :-(
...bet you didn't rebuild mod_php after you rebuilt "apache -threads"...? This "fixed" it for me. Would be useful to at least have a note about this issue somewhere. It seems to affect php-accelerator and all the other php speedup apps as well
Ed, no need to rebuild for me, this is a fresh Gentoo install.
Same issue here. I built Apache2 with threads, then emerged mod_php php and then turck-mmcache. Strangely enough the directory: /usr/lib/php/extensions/no-debug-non-zts-20020429/ was created whether apache used threads or not. I did notice when visiting the "results" of phpinfo(); that with the threads use flag that the worker MPM was used, and when -threads was used prefork MPM was used along with whether Thread Safety was enabled or not. Like others have noted, building apache with threads disabled (prefork) results in turck-mmcache working. With threads enabled turck-mmcache fails. This posting: http://forums.gentoo.org/viewtopic-p-2252501.html#2178999 is perhaps a solution?
OK, so dev-php/eaccelerator-0.9.2a and dev-php/turck-mmcache-2.4.6 only work for me if I - add -DZTS -DPTHREADS to CFLAGS to emerge it AND - set zend_extension_ts="/usr/lib/php/extensions/no-debug-non-zts-20020429/eaccelerator.so" zend_extension or extension does not work at all. Apache flags on the test machine: [ebuild R ] net-www/apache-2.0.53 +apache2 -debug +doc -ldap -mpm-leader -mpm-peruser +mpm-prefork -mpm-threadpool +mpm-worker -no-suexec +ssl -static-modules -threads 0 kB
Still the same story as in Comment #12 with 0.9.3. :-(
turck-mmcache is scheduled for removal from Portage, and is no longer supported. We'll shortly be removing the ability to install multiple MPMs w/ Apache 2. Best regards, Stu
dev-php/turck-mmcache has been removed from the tree.