PHP7 issue [was PHP7 + Synth issue]

Jim Ohlstein jim at ohlste.in
Wed Feb 17 14:53:29 UTC 2016


Hello,

On 2/17/16 8:59 AM, John Marino wrote:
> On 2/17/2016 2:44 PM, Martin Wilke wrote:
>> Hi,
>>
>> The long term solution will be switching to mysqli or pdo_mysql which is
>> provided by php70 (and php55/56), I am working right now on cleaning up
>> the pecl ports, after that I'll go and check which port can switch already.

php56-pdo_mysql has php56-mysql as a dependency.

# pkg info -d php56-pdo_mysql
php56-pdo_mysql-5.6.18:
	php56-5.6.18
	php56-mysql-5.6.18
	php56-pdo-5.6.18

This is not the case with php70-pdo_mysql.

I have come across at least one port where you see the following in the 
Makefile:

MYSQL_USE=	MYSQL=client PHP=mysql,pdo_mysql

where:

MYSQL_USE=	MYSQL=client PHP=pdo_mysql

would suffice for PHP 5.6 and would not break PHP 7.0, assuming the 
correct extension is phpXx-pdo_mysql.

>>
>
> The problem with that approach is that his tree is broken now.
> His choice is don't build at all or don't use php 7.0.
>
> I think it's something that needs attention now unless the intent is to
> say, "don't use php7 yet, it is not ready for prime time" (which is
> possible)

This is clearly not a Synth issue. Synth did its job correctly.

PHP 7.0 is early and anyone who uses it in production uses it at their 
own peril. It's not the default PHP version, people have to actually 
opt-in to build PHP-based ports with it. As such, they need to have 
their eyes wide open.

Sorting this all out will take awhile with over 100 pecl extensions 
alone and many more than that ports dependent on PHP. The only way to 
figure it out is to leave it in ports so people can test it against 
their apps. Again, anyone who uses it in production without testing is 
asking for trouble.

-- 
Jim Ohlstein


"Never argue with a fool, onlookers may not be able to tell the 
difference." - Mark Twain


More information about the freebsd-ports mailing list