From owner-freebsd-questions@FreeBSD.ORG Sat Jul 22 14:11:29 2006 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ABB4B16A4DA for ; Sat, 22 Jul 2006 14:11:29 +0000 (UTC) (envelope-from freebsd.ph@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.170]) by mx1.FreeBSD.org (Postfix) with ESMTP id D2F1C43D49 for ; Sat, 22 Jul 2006 14:11:28 +0000 (GMT) (envelope-from freebsd.ph@gmail.com) Received: by ug-out-1314.google.com with SMTP id m2so1739950uge for ; Sat, 22 Jul 2006 07:11:27 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=Wr1gqF64kAEM4HB3j322MLY8aSTSmDIw/5FcrykMqdaS1b4wGIFsz2ahiGazju6BXk+YISFXjG85/qNSbqnYAZGWxmHuvim//pygoirmDXfVy0P+9k5DlXo0FUJQ3I4EMd96Fj+mt9CLjXdYvEpnf4stjixSw8g4QQmhgVWEj4Q= Received: by 10.78.151.15 with SMTP id y15mr834813hud; Sat, 22 Jul 2006 07:11:27 -0700 (PDT) Received: by 10.78.141.18 with HTTP; Sat, 22 Jul 2006 07:11:27 -0700 (PDT) Message-ID: Date: Sat, 22 Jul 2006 22:11:27 +0800 From: "jan gestre" To: "Matthew Seaman" In-Reply-To: <44C1DBA6.7060900@infracaninophile.co.uk> MIME-Version: 1.0 References: <44C15798.5060906@tuxdoit.com> <44C1DBA6.7060900@infracaninophile.co.uk> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: mamrg , freebsd-questions@freebsd.org Subject: Re: Upgrade PHP X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Jul 2006 14:11:29 -0000 On 7/22/06, Matthew Seaman wrote: > > mamrg wrote: > > Hi, > > > > First of all my apologies for the lame question, but i have this FreeBSD > > server in which i have to upgrade PHP from 4 to 5. > > > > I've read about the ports, but got a little confused. > > > Can you tell me please how can i make the update ? > > Hmmm... this will take a little more effort than is usual when dealing > with the ports. But not a huge amount more. > > First, identify all of the ports that use php -- you want anything that > is a dependency of the core lang/php4 port. You need a command something > like the following, except you will have to alter the version number to > match what you have installed: > > % pkg_info -R php4-4.X.Y > > Something like this: > > % pkg_info -R php4-4.4.2_1 > Information for php4-4.4.2_1: > > Required by: > oscommerce-2.2r2 > pecl-pdflib-2.0.4 > php4-bz2-4.4.2_1 > php4-gd-4.4.2_1 > php4-mbstring-4.4.2_1 > php4-mcrypt-4.4.2_1 > php4-mysql-4.4.2_1 > php4-pcre-4.4.2_1 > php4-session-4.4.2_1 > php4-zlib-4.4.2_1 > phpMyAdmin-2.8.0.3 > > This will get you the right list of ports to deal with. Now, you need to > replace each of those ports called 'php4-something' with the equivalent > 'php5-something' port. You need to do the base php port first: > > % cd /usr/ports/lang/php5 > % make config (Note: make sure 'Apache' is > checked here) > % portupgrade -f -o lang/php5 php4-4.4.2_1 > > Remember to tweak that version number to match what is on your own system. > After you've done that, there should be a file /usr/local/etc/php.conf > that contains the following: > > % cat /usr/local/etc/php.conf > PHP_VER=5 > PHP_VERSION=5.1.4 > PHP_SAPI=cli cgi mod > > Now go ahead and replace all of the php4 modules with their php5 > equivalents. You need to find the origin of each php4 module, and then > translate it into the php5 equivalent. eg: > > % pkg_info -o php4-mysql-4.4.2_1 > Information for php4-mysql-4.4.2_1: > > Origin: > databases/php4-mysql > % portupgrade -o databases/php5-mysql php4-mysql-4.4.2_1 > > Do that for each of the php4-something modules. > > Next, and somewhat optionally, reinstall all of the PECL libraries and > PHP applications you've installed. ie. anything on that list of > dependencies without the php4- prefix. This isn't strictly necessary for > anything that is pure PHP code and that involves no compiled stuff, but > it shouldn't hurt. eg: > > % portupgrade -f pecl-pdflib-2.0.4 > % portupgrade -f phpMyAdmin-2.8.0.3 > % portupgrade -f oscommerce-2.2r2 > > > Is it necessary to mess with Apache too ? > > Yes. You should stop apache before starting on this whole exercise, > obviously. Before you fire it up again, you need to make sure that > it is loading the PHP5 module rather than the PHP4 one. > > Check for lines like this in the apache config files: > > LoadModule php5_module libexec/apache22/libphp5.so > > (Again, mutatis mutandem depending on the version of Apache you're > running) > > The Apache config files may well be automagically edited for you, > but the 'LoadModule' line could well have been put in commented out, > which you'll want to uncomment. > > Then fire up Apache and test, test, test until you're sure everything > is working OK. > > or you can have both php4 and php5 in your box. > > >