From what I’ve read, gentoo doesn’t install both PHP4 and PHP5 due to compatibility issues.
I am trying to decide how to fix the problem. The easiest solution is to reconfigure my machine to use PHP5 and remove all references to PHP4. But that will only work if I don’t rely on PHP4 features that aren’t compatible with PHP5.
My question: How can I determine if any of the legacy code I support depends on PHP4 features that won’t upgrade to PHP5?
Thank you.
Notes
According to gentoo, “there are many applications, PHP extensions and packages in portage, which do not work with PHP5, and there is nothing we can do about it. PHP5 isn't 100% backwards compatible with PHP4, and not every PHP4 program can/will be ported to run on PHP5.”
Here are the errors I get when I try to start Apache2:
Code: Select all
# [b]/etc/init.d/apache2 start[/b]
* apache2:
Syntax error on line 154 of /etc/apache2/httpd.conf:
Syntax error on line 4 of /etc/apache2/modules.d/70_mod_php.conf:
Cannot load /usr/lib/apache2/modules/libphp4.so into server:
libltdl.so.3:
cannot open shared object file: No such file or directoryHere’s some of my system information:
Code: Select all
# emerge --info
Portage 2.1.6.13 (hardened/linux/x86/10.0, gcc-3.4.6, glibc-2.9_p20081201-r2, 2.6.23-gentoo-r8 i686)
=================================================================
System uname: Linux-2.6.23-gentoo-r8-i686-Intel-R-_Pentium-R-_4_CPU_2.80GHz-with-gentoo-1.12.11.1
Timestamp of tree: Sun, 20 Sep 2009 09:45:01 +0000
…
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-[b]php4[/b]/ext-active/ /etc/php/cgi-[b]php4[/b]/ext-active/ /etc/php/cli-[b]php4[/b]/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
USE="acl apache2 berkdb bzip2 cli cracklib crypt dri gdbm gpm hardened iconv isdnlog mudflap ncurses nptl nptlonly pam pcre perl [b]php[/b] pic pppd python readline reflection session spl ssl sysfs tcpd urandom x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 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 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i740 imstt intel mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware voodoo"
Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY