# How to update EOL ports(php55 to php70)



## cesjr (Feb 14, 2017)

Hi
I using `portsnap fetch update` to update my ports tree, and I noticed that php55 was in EOL state.
`portmaster -L | grep php`

```
===>>> php55-5.5.37
        ===>>> The lang/php55 port has been deleted: Has expired: EOL upstream since 21 Jul 2016
===>>> php55-bcmath-5.5.37
        ===>>> The math/php55-bcmath port has been deleted: Has expired: EOL upstream since 21 Jul 2016
===>>> php55-bz2-5.5.37
.....
.....
all of the php55* has expired
```
I using the `pkg updating php55` to check out.
it reports :

```
1) update your lang/php* options (i.e. 'make config')
2) rebuild lang/php* port
3) install www/mod_php* port
```
But there is no /usr/ports/databases/php55* on that , so how should I remove php55 ,should I just using pkg delete ?(I worried about of dependices issues)  and how to rebuild lang/php* port ? (is it means make reinstall ?).

Is there have no way to update php by `portmaster` or `portupgrade` ?
`portupgrade -R php55`

```
[Reading data from pkg(8) ... - 280 packages found - done]
** Port deleted on 2016-10-21: lang/php55
        Has expired: EOL upstream since 21 Jul 2016
[Exclude up-to-date packages  done]
** Listing the failed packages (-:ignored / *:skipped / !:failed)
        - lang/php55 (port deleted)
```
`portmaster php55`

```
===>>> Working on:
        php55-5.5.37
        php55-bcmath-5.5.37
        php55-bz2-5.5.37
        php55-calendar-5.5.37
        php55-ctype-5.5.37
        php55-curl-5.5.37
        php55-dba-5.5.37
        php55-dom-5.5.37
        php55-exif-5.5.37
        php55-extensions-1.8
        php55-fileinfo-5.5.37
        php55-filter-5.5.37
        php55-ftp-5.5.37
        php55-gd-5.5.37
        php55-gettext-5.5.37
        php55-gmp-5.5.37
        php55-hash-5.5.37
        php55-iconv-5.5.37
        php55-imap-5.5.37
        php55-interbase-5.5.37
        php55-json-5.5.37
        php55-ldap-5.5.37
        php55-mbstring-5.5.37
        php55-mcrypt-5.5.37
        php55-mssql-5.5.37
        php55-mysql-5.5.37
        php55-mysqli-5.5.37
        php55-odbc-5.5.37
        php55-opcache-5.5.37_1
        php55-openssl-5.5.37
        php55-pcntl-5.5.37
        php55-pdo-5.5.37
        php55-pdo_dblib-5.5.37
        php55-pdo_firebird-5.5.37
        php55-pdo_mysql-5.5.37
        php55-pdo_odbc-5.5.37
        php55-pdo_pgsql-5.5.37
        php55-pdo_sqlite-5.5.37
        php55-pgsql-5.5.37
        php55-phar-5.5.37
        php55-posix-5.5.37
        php55-pspell-5.5.37
        php55-readline-5.5.37
        php55-recode-5.5.37
        php55-session-5.5.37
        php55-shmop-5.5.37
        php55-simplexml-5.5.37
        php55-snmp-5.5.37
        php55-soap-5.5.37
        php55-sockets-5.5.37
        php55-sqlite3-5.5.37
        php55-sybase_ct-5.5.37
        php55-sysvmsg-5.5.37
        php55-sysvsem-5.5.37
        php55-sysvshm-5.5.37
        php55-tidy-5.5.37
        php55-tokenizer-5.5.37
        php55-wddx-5.5.37
        php55-xml-5.5.37
        php55-xmlreader-5.5.37
        php55-xmlrpc-5.5.37
        php55-xmlwriter-5.5.37
        php55-xsl-5.5.37
        php55-zip-5.5.37
        php55-zlib-5.5.37

===>>> Gathering distinfo list for installed ports


===>>> php55-5.5.37 1/65

===>>> The lang/php55 port has been deleted: Has expired: EOL upstream since 21 Jul 2016
===>>> Aborting update

===>>> Update for php55-5.5.37 failed
===>>> Aborting update
```
I want to update my php version because of when I install phpmyadmin ,it reports:

```
Unknown extension ctype for PHP 55.
*** Error code 1


Stop.
make[1]: stopped in /usr/ports/databases/phpmyadmin
*** Error code 1

Stop.
make: stopped in /usr/ports/databases/phpmyadmin
```
I think this is because PHP55-extension was EOL.
If I update php version ,should I also change anything of my http.conf or anything mod of php about apache.
Sorry ,so many question to ask.


----------



## SirDice (Feb 14, 2017)

Simplest solution, remove mod_php55, php55 and any module named php55-*. Then just install PHP 5.6 and any modules you require.


----------



## cesjr (Feb 15, 2017)

Thanks,I using `pkg delete php55-"*` to remove mod_php55, php55.And install php70 by ports tree.
It looks good ,but PHP70 seems not support MSSQL.
I install  databases/php70-pdo_dblib/ 、freetds , but the apache log still report error , it is workfing fine on PHP5.5.

```
[Wed Feb 15 10:24:20 2017] [error] [client 10.1.2.94] PHP Fatal error:  Uncaught Error: Call to undefined function mssql_connect()
```


----------



## SirDice (Feb 15, 2017)

Certain functions have been deprecated with PHP 7.0. You may have more luck with your application with PHP 5.6.


----------



## cesjr (Feb 16, 2017)

Thanks ,finally ,I decide to reinstall PHP5.6 on my production environment , hopefully it will not be EOL...


----------



## SirDice (Feb 16, 2017)

cesjr said:


> Thanks ,finally ,I decide to reinstall PHP5.6 on my production environment , hopefully it will not be EOL...


You'll get security updates at least until December 2018: http://php.net/supported-versions.php

Now would be a good time to fix the application for PHP 7.0. Don't wait until the last moment to do that. It's going to take time to fix things and you'll want to test it too.


----------

