Jump to content
camaran

php7 and mysql

Recommended Posts

Solved this by compiling PHP's pecl mysql extension from source:

$ git clone https://github.com/php/pecl-database-mysql mysql --recursive

Go to directory of the downloaded files, and then:

$ phpize
$ ./configure
$ make
$ make install

Then you have to register the extension in php.ini:

extension=/usr/local/lib/php/[. . . path to PHP extensions]/mysql.so

Then restart Apache, and Revive works fine.

PS. When I ran "configure" I also had to specify path to php_config:
./configure --with-php-config=/usr/local/bin/php-config

 

 

Edited by firstimpression

Share this post


Link to post
Share on other sites

Solved this by compiling PHP's pecl mysql extension from source

Thank you!

I think a ticket was raised to report this as well, and the documentation has since been updated to note this requirement.

Yes but i think the best solution is migrate to pdo or mysqli

Pull requests in GitHub always welcomed!

Share this post


Link to post
Share on other sites

After more than one month Revive is not compatible yet with PHP 7.
The mysql extension was deprecated on Jun 2013 (php 5.5.0) and you are still using it, with the consequent security and performance issues.
I'm perplexed.

Revive Adserver is definitely compatible with PHP7, this has been tested thoroughly.

This item was addressed on a Github issue: https://github.com/revive-adserver/revive-adserver/issues/652 and the Requirements page at https://www.revive-adserver.com/support/requirements/ where it says:

Revive Adserver, from version 3.2, is also fully compatible with the newly released PHP 7. However, you will only be able to use it with Postgres out of the box, since the old “mysql” extension that Revive Adserver uses has been removed from the official distribution. Should you wish to run it with PHP7 and a MySQL backend, you will need to install the mysql extension from PECL.

 

Share this post


Link to post
Share on other sites

After more than one month Revive is not compatible yet with PHP 7.
The mysql extension was deprecated on Jun 2013 (php 5.5.0) and you are still using it, with the consequent security and performance issues.
I'm perplexed.

Hi @Roberto Pasini,

No need to be perplexed! As Erik mentions above, Revive Adserver will work with PHP7, just using the mysql extension via PECL.

It would be great to be able to move to pdo or mysqli, as mentioned by others above - but we're currently without any kind of sponsorship or revenue - the core team supports Revive Adserver as best we can in our spare time, around our day jobs. So, it's not surprising at all (to me) that this hasn't been done yet - along with all of the many other things we haven't done (yet).

We do our best!

Share this post


Link to post
Share on other sites

Just been hit with this after updating the server to Ubuntu 16.04.1 & PHP 7


mysql# phpize
Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226
cp: cannot stat 'ltmain.sh': No such file or directory

mysql# ./configure --with-php-config=/usr/bin/php-config
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E

...

mysql# make
/bin/bash /opt/pecl/mysql/libtool --mode=compile cc -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -I. -I/opt/pecl/mysql -DPHP_ATOM_INC -I/opt/pecl/mysql/include -I/opt/pecl/mysql/main -I/opt/pecl/mysql -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /opt/pecl/mysql/php_mysql.c -o php_mysql.lo
libtool: compile:  cc -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -I. -I/opt/pecl/mysql -DPHP_ATOM_INC -I/opt/pecl/mysql/include -I/opt/pecl/mysql/main -I/opt/pecl/mysql -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /opt/pecl/mysql/php_mysql.c  -fPIC -DPIC -o .libs/php_mysql.o
In file included from /opt/pecl/mysql/php_mysql.c:63:0:
/opt/pecl/mysql/php_mysql_structs.h:114:2: error: unknown type name 'zend_resource'
  zend_resource *default_link;
  ^
/opt/pecl/mysql/php_mysql_structs.h:115:2: error: unknown type name 'zend_long'
  zend_long num_links,num_persistent;
  ^
/opt/pecl/mysql/php_mysql_structs.h:116:2: error: unknown type name 'zend_long'
  zend_long max_links,max_persistent;
  ^
/opt/pecl/mysql/php_mysql_structs.h:117:2: error: unknown type name 'zend_long'
  zend_long allow_persistent;

 

This is then followed by a few screens of more unknown type names of a similar kind.

Is there something I missed? 

 

Share this post


Link to post
Share on other sites
On 18/01/2016 at 7:59 AM, Erik Geurts said:
 

Revive Adserver is definitely compatible with PHP7, this has been tested thoroughly.

This item was addressed on a Github issue: https://github.com/revive-adserver/revive-adserver/issues/652 and the Requirements page at https://www.revive-adserver.com/support/requirements/ where it says:

 

So this answers means that nothing is going to be done to make this compatible from the devs?

I know there is a solution but I prefer not to "play" out of the standard install so the upgrades and updates are easier to apply.

Can we expect a core fix for this in near future?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...