Upgrade currently installed PHP packages to version 7.1
Preparation for Installation
Start PuTTY on a Windows PC, Terminal on a Mac or similar terminal application on a Linux PC.
In this example Terminal on a Mac is used.
Open a remote SSH session to the server with:
Mac:~ user$ ssh user@192.168.1.4 [enter]
N.B.: Replace user@192.168.1.4 with User ID and IP Address on Your server!
[user@server ~]$
Enable superuser privileges with:
[user@server ~]$ sudo -s [enter]
Password: <-- passwd [enter]
[root@server /usr/home/user]#
N.B.: Enter user password, not the root password!
Add all currently installed PHP packages to file ‘installed-php-ports-list’ and then display the list with:
[root@server /usr/home/user]# pkg info \*php\* > ~/installed-php-ports-list; cat ~/installed-php-ports-list [enter]
php70-7.0.21
php70-bz2-7.0.21
php70-ctype-7.0.21
php70-curl-7.0.21
php70-dom-7.0.21
php70-extensions-1.1
php70-filter-7.0.21
php70-ftp-7.0.21
php70-gd-7.0.21
php70-hash-7.0.21
php70-iconv-7.0.21
php70-json-7.0.21
php70-mbstring-7.0.21_1
php70-mcrypt-7.0.21
php70-mysqli-7.0.21
php70-opcache-7.0.21
php70-openssl-7.0.21
php70-pdo-7.0.21
php70-pdo_sqlite-7.0.21
php70-phar-7.0.21
php70-posix-7.0.21
php70-session-7.0.21
php70-simplexml-7.0.21
php70-sqlite3-7.0.21
php70-tokenizer-7.0.21
php70-xml-7.0.21
php70-xmlreader-7.0.21
php70-xmlwriter-7.0.21
php70-zip-7.0.21
php70-zlib-7.0.21
mod_php70-7.0.21
[root@server /usr/home/user]#
N.B.: The next command will delete all PHP packages listed in file installed-php-ports-list WITHOUT any confirmation from you!
Delete all currently installed packages listed in file installed-php-ports-list with:
[root@server /usr/home/user]# cat ~/installed-php-ports-list | xargs pkg delete -fy [enter]
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 31 packages (of 0 packages in the universe):
Installed packages to be REMOVED:
php70-7.0.21
php70-bz2-7.0.21
php70-ctype-7.0.21
php70-curl-7.0.21
php70-dom-7.0.21
php70-extensions-1.1
php70-filter-7.0.21
php70-ftp-7.0.21
php70-gd-7.0.21
php70-hash-7.0.21
php70-iconv-7.0.21
php70-json-7.0.21
php70-mbstring-7.0.21_1
php70-mcrypt-7.0.21
php70-mysqli-7.0.21
php70-opcache-7.0.21
php70-openssl-7.0.21
php70-pdo-7.0.21
php70-pdo_sqlite-7.0.21
php70-phar-7.0.21
php70-posix-7.0.21
php70-session-7.0.21
php70-simplexml-7.0.21
php70-sqlite3-7.0.21
php70-tokenizer-7.0.21
php70-xml-7.0.21
php70-xmlreader-7.0.21
php70-xmlwriter-7.0.21
php70-zip-7.0.21
php70-zlib-7.0.21
mod_php70-7.0.21
Number of packages to be removed: 31
The operation will free 28 MiB.
[1/31] Deinstalling php70-extensions-1.1...
[2/31] Deinstalling php70-pdo_sqlite-7.0.21...
[2/31] Deleting files for php70-pdo_sqlite-7.0.21: 100%
[3/31] Deinstalling php70-phar-7.0.21...
[3/31] Deleting files for php70-phar-7.0.21: 100%
[4/31] Deinstalling php70-xmlreader-7.0.21...
[4/31] Deleting files for php70-xmlreader-7.0.21: 100%
[5/31] Deinstalling php70-bz2-7.0.21...
[5/31] Deleting files for php70-bz2-7.0.21: 100%
[6/31] Deinstalling php70-ctype-7.0.21...
[6/31] Deleting files for php70-ctype-7.0.21: 100%
[7/31] Deinstalling php70-curl-7.0.21...
[7/31] Deleting files for php70-curl-7.0.21: 100%
[8/31] Deinstalling php70-dom-7.0.21...
[8/31] Deleting files for php70-dom-7.0.21: 100%
[9/31] Deinstalling php70-filter-7.0.21...
[9/31] Deleting files for php70-filter-7.0.21: 100%
[10/31] Deinstalling php70-ftp-7.0.21...
[10/31] Deleting files for php70-ftp-7.0.21: 100%
[11/31] Deinstalling php70-gd-7.0.21...
[11/31] Deleting files for php70-gd-7.0.21: 100%
[12/31] Deinstalling php70-hash-7.0.21...
[12/31] Deleting files for php70-hash-7.0.21: 100%
[13/31] Deinstalling php70-iconv-7.0.21...
[13/31] Deleting files for php70-iconv-7.0.21: 100%
[14/31] Deinstalling php70-json-7.0.21...
[14/31] Deleting files for php70-json-7.0.21: 100%
[15/31] Deinstalling php70-mbstring-7.0.21_1...
[15/31] Deleting files for php70-mbstring-7.0.21_1: 100%
[16/31] Deinstalling php70-mcrypt-7.0.21...
[16/31] Deleting files for php70-mcrypt-7.0.21: 100%
[17/31] Deinstalling php70-mysqli-7.0.21...
[17/31] Deleting files for php70-mysqli-7.0.21: 100%
[18/31] Deinstalling php70-opcache-7.0.21...
[18/31] Deleting files for php70-opcache-7.0.21: 100%
[19/31] Deinstalling php70-openssl-7.0.21...
[19/31] Deleting files for php70-openssl-7.0.21: 100%
[20/31] Deinstalling php70-pdo-7.0.21...
[20/31] Deleting files for php70-pdo-7.0.21: 100%
[21/31] Deinstalling php70-posix-7.0.21...
[21/31] Deleting files for php70-posix-7.0.21: 100%
[22/31] Deinstalling php70-session-7.0.21...
[22/31] Deleting files for php70-session-7.0.21: 100%
[23/31] Deinstalling php70-simplexml-7.0.21...
[23/31] Deleting files for php70-simplexml-7.0.21: 100%
[24/31] Deinstalling php70-sqlite3-7.0.21...
[24/31] Deleting files for php70-sqlite3-7.0.21: 100%
[25/31] Deinstalling php70-tokenizer-7.0.21...
[25/31] Deleting files for php70-tokenizer-7.0.21: 100%
[26/31] Deinstalling php70-xml-7.0.21...
[26/31] Deleting files for php70-xml-7.0.21: 100%
[27/31] Deinstalling php70-xmlwriter-7.0.21...
[27/31] Deleting files for php70-xmlwriter-7.0.21: 100%
[28/31] Deinstalling php70-zip-7.0.21...
[28/31] Deleting files for php70-zip-7.0.21: 100%
[29/31] Deinstalling php70-zlib-7.0.21...
[29/31] Deleting files for php70-zlib-7.0.21: 100%
[30/31] Deinstalling php70-7.0.21...
[30/31] Deleting files for php70-7.0.21: 100%
[31/31] Deinstalling mod_php70-7.0.21...
[preparing module `php7' in /usr/local/etc/apache24/httpd.conf]
[31/31] Deleting files for mod_php70-7.0.21: 100%
Install all packages deleted with the new version as in this example with:
[root@server /usr/home/user]#
[root@server /usr/home/user]# pkg install php71 php71-bz2 php71-ctype php71-curl php71-dom php71-extensions php71-filter php71-ftp php71-gd php71-hash php71-iconv php71-json php71-mbstring php71-mcrypt php71-mysqli php71-opcache php71-openssl php71-pdo php71-pdo_sqlite php71-phar php71-posix php71-session php71-simplexml php71-sqlite3 php71-tokenizer php71-xml php71-xmlreader php71-xmlwriter php71-zip php71-zlib mod_php71 [enter]
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 31 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
php71: 7.1.7
php71-bz2: 7.1.7
php71-ctype: 7.1.7
php71-curl: 7.1.7
php71-dom: 7.1.7
php71-extensions: 1.0
php71-filter: 7.1.7
php71-ftp: 7.1.7
php71-gd: 7.1.7
php71-hash: 7.1.7
php71-iconv: 7.1.7
php71-json: 7.1.7
php71-mbstring: 7.1.7_1
php71-mcrypt: 7.1.7
php71-mysqli: 7.1.7
php71-opcache: 7.1.7
php71-openssl: 7.1.7
php71-pdo: 7.1.7
php71-pdo_sqlite: 7.1.7
php71-phar: 7.1.7
php71-posix: 7.1.7
php71-session: 7.1.7
php71-simplexml: 7.1.7
php71-sqlite3: 7.1.7
php71-tokenizer: 7.1.7
php71-xml: 7.1.7
php71-xmlreader: 7.1.7
php71-xmlwriter: 7.1.7
php71-zip: 7.1.7
php71-zlib: 7.1.7
mod_php71: 7.1.7
Number of packages to be installed: 31
The process will require 29 MiB more space.
5 MiB to be downloaded.
Proceed with this action? [y/N]: y
[1/31] Fetching php71-7.1.7.txz: 100% 2 MiB 1.1MB/s 00:02
[2/31] Fetching php71-bz2-7.1.7.txz: 100% 11 KiB 10.9kB/s 00:01
[3/31] Fetching php71-ctype-7.1.7.txz: 100% 6 KiB 6.6kB/s 00:01
[4/31] Fetching php71-curl-7.1.7.txz: 100% 27 KiB 27.9kB/s 00:01
[5/31] Fetching php71-dom-7.1.7.txz: 100% 54 KiB 55.3kB/s 00:01
[6/31] Fetching php71-extensions-1.0.txz: 100% 1 KiB 1.1kB/s 00:01
[7/31] Fetching php71-filter-7.1.7.txz: 100% 18 KiB 18.9kB/s 00:01
[8/31] Fetching php71-ftp-7.1.7.txz: 100% 22 KiB 22.5kB/s 00:01
[9/31] Fetching php71-gd-7.1.7.txz: 100% 130 KiB 133.5kB/s 00:01
[10/31] Fetching php71-hash-7.1.7.txz: 100% 119 KiB 121.6kB/s 00:01
[11/31] Fetching php71-iconv-7.1.7.txz: 100% 18 KiB 18.0kB/s 00:01
[12/31] Fetching php71-json-7.1.7.txz: 100% 20 KiB 20.4kB/s 00:01
[13/31] Fetching php71-mbstring-7.1.7_1.txz: 66% 472 KiB 483.3kB/s 00:00 ET[13/31] Fetching php71-mbstring-7.1.7_1.txz: 100% 714 KiB 730.7kB/s 00:01
[14/31] Fetching php71-mcrypt-7.1.7.txz: 100% 15 KiB 14.9kB/s 00:01
[15/31] Fetching php71-mysqli-7.1.7.txz: 100% 39 KiB 40.1kB/s 00:01
[16/31] Fetching php71-opcache-7.1.7.txz: 100% 143 KiB 146.8kB/s 00:01
[17/31] Fetching php71-openssl-7.1.7.txz: 100% 53 KiB 53.9kB/s 00:01
[18/31] Fetching php71-pdo-7.1.7.txz: 100% 43 KiB 44.1kB/s 00:01
[19/31] Fetching php71-pdo_sqlite-7.1.7.txz: 100% 12 KiB 12.1kB/s 00:01
[20/31] Fetching php71-phar-7.1.7.txz: 100% 102 KiB 104.9kB/s 00:01
[21/31] Fetching php71-posix-7.1.7.txz: 100% 11 KiB 11.4kB/s 00:01
[22/31] Fetching php71-session-7.1.7.txz: 100% 31 KiB 32.1kB/s 00:01
[23/31] Fetching php71-simplexml-7.1.7.txz: 100% 23 KiB 23.3kB/s 00:01
[24/31] Fetching php71-sqlite3-7.1.7.txz: 100% 17 KiB 17.8kB/s 00:01
[25/31] Fetching php71-tokenizer-7.1.7.txz: 100% 9 KiB 8.8kB/s 00:01
[26/31] Fetching php71-xml-7.1.7.txz: 100% 20 KiB 20.1kB/s 00:01
[27/31] Fetching php71-xmlreader-7.1.7.txz: 100% 13 KiB 12.9kB/s 00:01
[28/31] Fetching php71-xmlwriter-7.1.7.txz: 100% 13 KiB 13.1kB/s 00:01
[29/31] Fetching php71-zip-7.1.7.txz: 100% 20 KiB 20.4kB/s 00:01
[30/31] Fetching php71-zlib-7.1.7.txz: 100% 17 KiB 17.6kB/s 00:01
[31/31] Fetching mod_php71-7.1.7.txz: 100% 1 MiB 1.2MB/s 00:01
Checking integrity... done (0 conflicting)
[1/31] Installing php71-7.1.7...
[1/31] Extracting php71-7.1.7: 100%
[2/31] Installing php71-dom-7.1.7...
[2/31] Extracting php71-dom-7.1.7: 100%
[3/31] Installing php71-hash-7.1.7...
[3/31] Extracting php71-hash-7.1.7: 100%
[4/31] Installing php71-pdo-7.1.7...
[4/31] Extracting php71-pdo-7.1.7: 100%
[5/31] Installing php71-ctype-7.1.7...
[5/31] Extracting php71-ctype-7.1.7: 100%
[6/31] Installing php71-filter-7.1.7...
[6/31] Extracting php71-filter-7.1.7: 100%
[7/31] Installing php71-iconv-7.1.7...
[7/31] Extracting php71-iconv-7.1.7: 100%
[8/31] Installing php71-json-7.1.7...
[8/31] Extracting php71-json-7.1.7: 100%
[9/31] Installing php71-opcache-7.1.7...
[9/31] Extracting php71-opcache-7.1.7: 100%
[10/31] Installing php71-pdo_sqlite-7.1.7...
[10/31] Extracting php71-pdo_sqlite-7.1.7: 100%
[11/31] Installing php71-phar-7.1.7...
[11/31] Extracting php71-phar-7.1.7: 100%
[12/31] Installing php71-posix-7.1.7...
[12/31] Extracting php71-posix-7.1.7: 100%
[13/31] Installing php71-session-7.1.7...
[13/31] Extracting php71-session-7.1.7: 100%
[14/31] Installing php71-simplexml-7.1.7...
[14/31] Extracting php71-simplexml-7.1.7: 100%
[15/31] Installing php71-sqlite3-7.1.7...
[15/31] Extracting php71-sqlite3-7.1.7: 100%
[16/31] Installing php71-tokenizer-7.1.7...
[16/31] Extracting php71-tokenizer-7.1.7: 100%
[17/31] Installing php71-xml-7.1.7...
[17/31] Extracting php71-xml-7.1.7: 100%
[18/31] Installing php71-xmlreader-7.1.7...
[18/31] Extracting php71-xmlreader-7.1.7: 100%
[19/31] Installing php71-xmlwriter-7.1.7...
[19/31] Extracting php71-xmlwriter-7.1.7: 100%
[20/31] Installing php71-bz2-7.1.7...
[20/31] Extracting php71-bz2-7.1.7: 100%
[21/31] Installing php71-curl-7.1.7...
[21/31] Extracting php71-curl-7.1.7: 100%
[22/31] Installing php71-extensions-1.0...
[23/31] Installing php71-ftp-7.1.7...
[23/31] Extracting php71-ftp-7.1.7: 100%
[24/31] Installing php71-gd-7.1.7...
[24/31] Extracting php71-gd-7.1.7: 100%
[25/31] Installing php71-mbstring-7.1.7_1...
[25/31] Extracting php71-mbstring-7.1.7_1: 100%
[26/31] Installing php71-mcrypt-7.1.7...
[26/31] Extracting php71-mcrypt-7.1.7: 100%
[27/31] Installing php71-mysqli-7.1.7...
[27/31] Extracting php71-mysqli-7.1.7: 100%
[28/31] Installing php71-openssl-7.1.7...
[28/31] Extracting php71-openssl-7.1.7: 100%
[29/31] Installing php71-zip-7.1.7...
[29/31] Extracting php71-zip-7.1.7: 100%
[30/31] Installing php71-zlib-7.1.7...
[30/31] Extracting php71-zlib-7.1.7: 100%
[31/31] Installing mod_php71-7.1.7...
Extracting mod_php71-7.1.7: 100%
[activating module `php7' in /usr/local/etc/apache24/httpd.conf]
Message from php71-dom-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-dom.ini
configuration file to automatically load the installed extension:
extension=dom.so
****************************************************************************
Message from php71-hash-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-hash.ini
configuration file to automatically load the installed extension:
extension=hash.so
****************************************************************************
Message from php71-pdo-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-pdo.ini
configuration file to automatically load the installed extension:
extension=pdo.so
****************************************************************************
Message from php71-ctype-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-ctype.ini
configuration file to automatically load the installed extension:
extension=ctype.so
****************************************************************************
Message from php71-filter-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-filter.ini
configuration file to automatically load the installed extension:
extension=filter.so
****************************************************************************
Message from php71-iconv-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-iconv.ini
configuration file to automatically load the installed extension:
extension=iconv.so
****************************************************************************
Message from php71-json-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-json.ini
configuration file to automatically load the installed extension:
extension=json.so
****************************************************************************
Message from php71-opcache-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-10-opcache.ini
configuration file to automatically load the installed extension:
zend_extension=opcache.so
****************************************************************************
Message from php71-pdo_sqlite-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-30-pdo_sqlite.ini
configuration file to automatically load the installed extension:
extension=pdo_sqlite.so
****************************************************************************
Message from php71-phar-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-30-phar.ini
configuration file to automatically load the installed extension:
extension=phar.so
****************************************************************************
Message from php71-posix-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-posix.ini
configuration file to automatically load the installed extension:
extension=posix.so
****************************************************************************
Message from php71-session-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-18-session.ini
configuration file to automatically load the installed extension:
extension=session.so
****************************************************************************
Message from php71-simplexml-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-simplexml.ini
configuration file to automatically load the installed extension:
extension=simplexml.so
****************************************************************************
Message from php71-sqlite3-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-sqlite3.ini
configuration file to automatically load the installed extension:
extension=sqlite3.so
****************************************************************************
Message from php71-tokenizer-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-tokenizer.ini
configuration file to automatically load the installed extension:
extension=tokenizer.so
****************************************************************************
Message from php71-xml-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-xml.ini
configuration file to automatically load the installed extension:
extension=xml.so
****************************************************************************
Message from php71-xmlreader-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-30-xmlreader.ini
configuration file to automatically load the installed extension:
extension=xmlreader.so
****************************************************************************
Message from php71-xmlwriter-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-xmlwriter.ini
configuration file to automatically load the installed extension:
extension=xmlwriter.so
****************************************************************************
Message from php71-bz2-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-bz2.ini
configuration file to automatically load the installed extension:
extension=bz2.so
****************************************************************************
Message from php71-curl-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-curl.ini
configuration file to automatically load the installed extension:
extension=curl.so
****************************************************************************
Message from php71-ftp-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-ftp.ini
configuration file to automatically load the installed extension:
extension=ftp.so
****************************************************************************
Message from php71-gd-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-gd.ini
configuration file to automatically load the installed extension:
extension=gd.so
****************************************************************************
Message from php71-mbstring-7.1.7_1:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-mbstring.ini
configuration file to automatically load the installed extension:
extension=mbstring.so
****************************************************************************
Message from php71-mcrypt-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-mcrypt.ini
configuration file to automatically load the installed extension:
extension=mcrypt.so
****************************************************************************
Message from php71-mysqli-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-mysqli.ini
configuration file to automatically load the installed extension:
extension=mysqli.so
****************************************************************************
Message from php71-openssl-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-openssl.ini
configuration file to automatically load the installed extension:
extension=openssl.so
****************************************************************************
Message from php71-zip-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-zip.ini
configuration file to automatically load the installed extension:
extension=zip.so
****************************************************************************
Message from php71-zlib-7.1.7:
****************************************************************************
The following line has been added to your /usr/local/etc/php/ext-20-zlib.ini
configuration file to automatically load the installed extension:
extension=zlib.so
****************************************************************************
Message from mod_php71-7.1.7:
***************************************************************
Make sure index.php is part of your DirectoryIndex.
You should add the following to your Apache configuration file:
<FilesMatch "\.php$">
SetHandler application/x-httpd-php
<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
***************************************************************
[root@server /usr/home/user]#
Restart the Apache Web service with:
[root@server /usr/home/user]# service apache24 restart [enter]
Performing sanity check on apache24 configuration:
Syntax OK
Stopping apache24.
Waiting for PIDS: 2375.
Performing sanity check on apache24 configuration:
Syntax OK
Starting apache24.
[root@server /usr/home/user]#
…and verify that the new PHP version is used by accessing the Web server from your browser with:
http://server.example.net/info.php
Finally, delete file installed-php-ports-list with:
[root@server /usr/home/user]# rm ~/installed-php-ports-list [enter]
[root@server /usr/home/user]#