How do I update PHP4 to PHP5 under FreeBSD operating systems?
You can easily specify a port to upgrade using the -o option for both portupgrade and portmaster command. To replace the installed port with a port from a different origin use the syntax as follows:
FreeBSD update php syntax
portupgrade -o {new/port} {old-port}
portmaster -o {new port dir in /usr/ports} {installed port}
WARNING! Backup your data and php / apache configuration before attempting the following commands.Find out PHP4 version
First, find out php4 version (this is important as you need provide exact version number):
# pkg_info | grep php4
Sample output:
php4-4.4.9 PHP Scripting Language (Apache Module and CLI)
How To Upgrade PHP4 To PHP5
To replace / upgrade php4 with php5 using portmaster command, enter:
# portmaster -o /usr/ports/lang/php5 php4-4.4.9 to upgrade php5
To replace / upgrade php4 with php5 using portupgrade command, enter:
# portupgrade -o lang/php5 php4
Sample output:
** Detected a package name change: php4 (lang/php4) -> 'php5' (lang/php5)
---> Upgrading 'php4-4.4.9' to 'php5-5.2.9' (lang/php5)
---> Building '/usr/ports/lang/php5'
===> Cleaning for php5-5.2.9
===> Found saved configuration for php5-5.2.8
===> Extracting for php5-5.2.9
=> MD5 Checksum OK for php-5.2.9.tar.bz2.
=> SHA256 Checksum OK for php-5.2.9.tar.bz2.
=> MD5 Checksum OK for suhosin-patch-5.2.9-0.9.7.patch.gz.
=> SHA256 Checksum OK for suhosin-patch-5.2.9-0.9.7.patch.gz.
......
.....
...===> SECURITY REPORT:
This port has installed the following files which may act as network
servers and may therefore pose a remote security risk to the system.
/usr/local/bin/php
/usr/local/bin/php-cgi
If there are vulnerabilities in these programs there may be a security
risk to the system. FreeBSD makes no guarantee about the security of
ports included in the Ports Collection. Please type 'make deinstall'
to deinstall the port if this is a concern.
For more information, and contact details about the security
status of this software, see the following webpage:
http://www.php.net/
===> Cleaning for php5-5.2.9
---> Cleaning out obsolete shared libraries
[Updating the pkgdb in /var/db/pkg ... - 249 packages found (-0 +1) . done]
Once done, you need to upgrade and set new php configuration files which is located at /usr/local/etc/php.ini and /usr/local/etc/php/.
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop















{ 7 comments… read them below or add one }
Hi,
There is one more step to upgrade if php4-extension already installed:
portmaster -o /usr/ports/lang/php5-extensions php4-extensions-1.0
Oh, yes. You need to upgrade all those extension via meta package too.
Thanks Vivek
What about CentOS5.2 ?
/0×3
CentOS 5.x comes with PHP5 only. So there is no need to perform upgrade…
ohhh sorry ….
Sir,
I am using Linux 2.6.9, PHP 5.1.4 with oci8 (oracle 9.2.0.1)
On command prompt I can run the name.php file, I am also connected to oracle database, get the output. But the same output is not showing in my browser.
In error log i found : [client 10.164.1.50] PHP Fatal error: Call to undefined function: oci_connect() in /var/www/html/dotsoft/javapr/test5.php on line 6
Can you help me
dillip
its mean the oracle module not loaded, check the installation log