debian upgrades and custom php
Posted (September 2nd, 2008 at 11:03 am PST) by danwyWe are currently in the process of upgrading our servers to the newest version of Debian, etch. If you have custom php compiled against the old 32bit libraries your site will no longer function correctly. If you are running custom php and start getting errors like these in your domains error.log, this is the cause:
php.cgi: error while loading shared libraries: whatever.so.15: cannot open shared object file: No such file or directory
You are going to need to recompile your php against the new 64bit toolchain, since it was more than likely compiled against the old 32bit libraries. This is not something that we can offer support with, but you can find more information about how to compile PHP in our wiki:
http://wiki.dreamhost.com/Installing_PHP5#Compiling_a_Customized_PHP_5
33 Responses to “debian upgrades and custom php”
What about EROS? My site has been down now for at least a full day. I’ve emailed the NOC twice and tech support once and no reply to anything yet.
Pedazos de mierda! he perdido dinero, estoy hace 5 horas sin que funcione mi puto servidor! y recien me responden! que carajo!
I wonder if this is what caused my Trac installation to suddenly stop working. I hadn’t touch or made any changes to Trac, and this morning I started receiving 500 errors.
The install scripts won’t work on the newly upgraded server. Can someone share the fix?
PHP is down… Still down… Hm. Down.
Panic time?
Gallery is down. Installed via the 1 click installation. Very nice!
Ahhhh… no php…
hi,
my website still down since last night.i do,t know whats wrong.
i thought my friend fabbad did it .because he wana publish new page.when i talk to him he said he did not did anything.
very bad for me. please fix it if possible or tell me what can i do.
My site (Trac) is still down. I can’t get it back up. I tried compiling PHP5 as mentioned in the blog post, but got errors after about 40 minutes in the PHP setup.
Thanks for the advance warning! and way to ruin a persons day… Not very professional handling of your customers if you ask me. Fine, you don’t support custom PHP, but it wouldn’t hurt to have let us know you were planning to do this.
My site’s rely on a custom PHP install and now I have to do a recompile but since the bash has changed, none of the PHP install scripts work anymore…
Could you advise what the new one is? I had been using:
#!/bin/sh
The upgrades seemed to have broke wp-cache for workpress, in case anyone else is using this combination.
My trac is down as well. Trac uses Python, not PHP, but the problem is likely the same as the error I’m getting is:
“Trac detected an internal error: ~/.python-eggs/MySQL_python-1.2.2-py2.3-linux-i686.egg-tmp/_mysql.so: cannot open shared object file: No such file or directory”
I’m working on recompiling this lib…
OK… I manage to fix it… turns out I had ioncube loaders for Linux X86 when it should have been Linux x86-64. So with the 64 bit upgrade my .htaccess file got my site with a 500 Internal server error. All is working fine now.
@ angry I’m also using #!/bin/sh. Try commenting out your Action php-cgi lines on your .htaccess file and taking it from there.
I’m having a hard time with the custom install from the site as well. It hangs on the c-client section. Is this happening with anyone else? I know stuff happens, but a little heads up would have been nice - or is it out there and I just don’t know it. Is there a way to find out when things are going to happen on our server?
Still dying on the
— Building: c-client
Making…
[tethys]$
*sigh* Off to sleep. I can’t take it anymore.
OK, my issue is not with PHP failing, but with other libraries simply not being present (libaac for example), which is causing MPlayer and Mencoder to fail. i have tried recompiling but get the following errors:
[jove]$ make
./version.sh `cc -dumpversion`
cc -c -Wdeclaration-after-statement -O4 -march=k8 -mtune=k8 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include -I/usr/include/freetype2 -I. -I./libavutil -I./libavcodec -o mplayer.o mplayer.c
mplayer.c: In function ‘mp_property_tv_color’:
mplayer.c:2351: warning: cast from pointer to integer of different size
mplayer.c:2353: warning: cast from pointer to integer of different size
mplayer.c:2356: warning: cast from pointer to integer of different size
mplayer.c:2361: warning: cast from pointer to integer of different size
cc -c -Wdeclaration-after-statement -O4 -march=k8 -mtune=k8 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include -I/usr/include/freetype2 -I. -I./libavutil -I./libavcodec -o vobsub.o vobsub.c
make -C libavformat LIBPREF=lib LIBSUF=.a
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libavformat’
make[1]: Nothing to be done for `all’.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libavformat’
make -C libavcodec LIBPREF=lib LIBSUF=.a
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libavcodec’
make[1]: Nothing to be done for `all’.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libavcodec’
make -C libavutil LIBPREF=lib LIBSUF=.a
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libavutil’
make[1]: Nothing to be done for `all’.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libavutil’
make -C libmpdemux
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libmpdemux’
make[1]: Nothing to be done for `all’.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libmpdemux’
make -C stream
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/stream’
make[1]: Nothing to be done for `all’.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/stream’
make -C libmpcodecs
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libmpcodecs’
make[1]: Nothing to be done for `all’.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libmpcodecs’
make -C libao2
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libao2′
make[1]: `libao2.a’ is up to date.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libao2′
make -C osdep
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/osdep’
make[1]: `libosdep.a’ is up to date.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/osdep’
make -C libswscale LIBPREF=lib LIBSUF=.a
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libswscale’
make[1]: Nothing to be done for `all’.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libswscale’
make -C input
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/input’
make[1]: `libinput.a’ is up to date.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/input’
make -C libvo
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libvo’
make[1]: `libvo.a’ is up to date.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libvo’
make -C libaf
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libaf’
make[1]: `libaf.a’ is up to date.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libaf’
make -C mp3lib
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/mp3lib’
make[1]: Nothing to be done for `all’.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/mp3lib’
make -C liba52
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/liba52′
make[1]: `liba52.a’ is up to date.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/liba52′
make -C libmpeg2
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libmpeg2′
make[1]: `libmpeg2.a’ is up to date.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libmpeg2′
make -C libfaad2
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libfaad2′
make[1]: `libfaad2.a’ is up to date.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libfaad2′
make -C libdha
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libdha’
make[1]: `libdha.so.1.0′ is up to date.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libdha’
make -C vidix
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/vidix’
make -C drivers
make[2]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/vidix/drivers’
make[2]: Nothing to be done for `all’.
make[2]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/vidix/drivers’
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/vidix’
make -C libmpdvdkit2
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libmpdvdkit2′
make[1]: Nothing to be done for `all’.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libmpdvdkit2′
make -C libass
make[1]: Entering directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libass’
make[1]: Nothing to be done for `all’.
make[1]: Leaving directory `/home/.trollheimen/wheaty73/src/MPlayer-1.0rc1/libass’
cc -Wdeclaration-after-statement -O4 -march=k8 -mtune=k8 -pipe -ffast-math -fomit-frame-pointer -D_REENTRANT -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include -I/usr/include/freetype2 -I. -I./libavutil -I./libavcodec -o mplayer mplayer.o m_property.o mp_msg.o asxparser.o codec-cfg.o cpudetect.o edl.o find_sub.o m_config.o m_option.o m_struct.o parser-cfg.o playtree.o playtreeparser.o spudec.o sub_cc.o subreader.o vobsub.o unrarlib.o mixer.o parser-mpcmd.o subopt-helper.o libvo/libvo.a libao2/libao2.a input/libinput.a libmpcodecs/libmpcodecs.a libaf/libaf.a libmpdemux/libmpdemux.a stream/stream.a libswscale/libswscale.a osdep/libosdep.a -Wl,-z,noexecstack -Llibmpdvdkit2 -lmpdvdkit libavformat/libavformat.a libavcodec/libavcodec.a libavutil/libavutil.a libpostproc/libpostproc.a -lpng -lz -lz -ljpeg -lncurses -lpthread -ldl -lm libfaad2/libfaad2.a mp3lib/libMP3.a liba52/liba52.a libmpeg2/libmpeg2.a tremor/libvorbisidec.a libass/libass.a -lfontconfig -lfreetype -lz -lXext -lX11 -lpthread vidix/libvidix.a
/usr/bin/ld: skipping incompatible libmpdvdkit2/libmpdvdkit.a when searching for -lmpdvdkit
/usr/bin/ld: cannot find -lmpdvdkit
collect2: ld returned 1 exit status
make: *** [mplayer] Error 1
Anyone have any suggestions?
Thanks
Darren
My Trac environments does still not work.
My Trac gives error on sqlite databases, but since 2 days ago they work fine.
Here’s the last error line (maybe it could be useful to someone else):
“DatabaseError: file is encrypted or is not a database”
I have also tried to create new Trac sites but the automated process for creating environments ends with the word “Killed” randomly
I hope it will be fixed soon..
Are some of the servers still running on the 32-bit OS? If so, would it be possible to move my account to that server. I need Trac and SVN back up and running.
I was using a custom php.ini file, and I didn’t even have php installed, but that’s throwing HTTP 500 server errors as well. All I need to do are toggle on a couple of switches… it shouldn’t be that hard!
When will I get my svn working? Dreamhost doesn’t say anything about this (I suppose that it has to do with 32 libs)
And the next time will be worth keep noticed your customers about actions in their servers (because we pay for it)
Is shultz a part of this? Is this box on the janky cluster?
Because my site is down more often than it up!
Matt,
I am in the same situation as you, what few things are you doing to fix your php?
Thanks
@Brian
If you are running Drupal than you will need to update your search path in your php.ini.
This is usually a module not finding the right libraries. Try to update those libraries to a x86-64 Debain install.
I’m still crapping out. I’ve explained my problem I keep having with my php install on the discussion forums if anyone can possibly help.
I just got my Trac and SVN backup and running. I had many problems while trying to install Trac and SVn, until I stumbled across this amazing project called dreamy-trac. I highly recommend it.
http://www.petarmaric.com/entry/2008/aug/22/trac-dreamhost-install/
I had problem with my .htaccess file, I just delete one line and fix it! fuck dreamhost, Im going change hosting in a few weeks
Anyone having nightmares with the php recompilation and looking for someone who has figured it out please contact me. I can take care of it for a measly consideration
Hi,
My site is down because of the upgrades to Debian Etch. I am trying to rebuild php5, the php5-install.sh (from the url given above for compiling custom php5.) script dies at this pint
“chmod 644 /home/rhea21/php5/lib/pkgconfig/openssl.pc
Done!
— Building: c-client
Making…”
I have tried it several times.
Really appreciate if anybody can guide me how to fix this.
Thanks,
Mohit
thank youu…
thanks
توبيكات
Why not use APT/GET to install PHP and be done with it?


This means downtime on the servers? I started to get PHP “Notices” yesterday meaning somebody changed error_level option value on PHP.ini on the server… thanks to support help, you corrected this soon.
But now I cannot access my sites… The two events are related to the upgrades? How much time of downtime do you expect?