PHP 7.2 and LimeSurvey 3.X?

More
8 months 3 weeks ago - 8 months 3 weeks ago #177369 by jelo
What is the current status of LimeSurvey 3.X and PHP 7.2.X?

E.g. Yii framework inside LimeSurvey is version Yii 1.1.19 (any modifications?).
The official statement from them is: Yii 1.1.20 is compatible with PHP 7.2.
raw.githubusercontent.com/yiisoft/yii/1.1.20/CHANGELOG

I currently recommend to stay on PHP 7.1 (cause PHP 7.2. is no longer shipping with certain libraries which can break current installations).

BTW: There should be a requirements check inside the LimeSurvey GUI (not only in the installer).

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
Last edit: 8 months 3 weeks ago by jelo.

Please Log in or Create an account to join the conversation.

LimeSurvey Partners
More
8 months 3 weeks ago - 8 months 3 weeks ago #177370 by DenisChenu
My dev instance is on PHP7.2.12.

The issue with Yii update is there are already update in Yii core. 3 comit currently : one fixed in 1.1.19beta and one related to PHP7.2.12.


Maybe you're right ! must update Yii :)

Edit :
Looking at diff : github.com/LimeSurvey/LimeSurvey/pull/1181/files more hacked framework file then shown in commit …

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand .
An error happen ? Before make a new topic : remind the Debug mode .
Last edit: 8 months 3 weeks ago by DenisChenu.

Please Log in or Create an account to join the conversation.

More
8 months 3 weeks ago #177372 by jelo
Replied by jelo on topic PHP 7.2 and LimeSurvey 3.X?
I'm not stating that everything is broken.

I don't like requirements which state version X.Y.Z or higher alone.
I like requirements which state the minimum and the maximum version tested.

This release does have the following requirements:

*MySQL 5.5.3 or later OR Microsoft SQL Server 2005 or later OR Postgres 8.1 or later
*PHP 5.5.9 or later with the following modules/libraries enabled:
*mbstring (Multibyte String Functions) extension library
*PDO database driver for MySQL (pdo_mysql or pdo_mysqli) or Postgres (pdo_pgsql) or MSSQL (pdo_sqlsrv for Windows and pdo_dblib for Linux)


E.g. if you install LS 3.X under PHP 7.2. under Windows you will have to enable the PHP openssl extension to get Yii random numbers working, which LimeSurvey needs to create tokens.

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users

Please Log in or Create an account to join the conversation.

More
8 months 3 weeks ago #177374 by DenisChenu
I didn't say LS work in all situation with PHP7.2 :) I just say : this can be fixed if reported ;)

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand .
An error happen ? Before make a new topic : remind the Debug mode .

Please Log in or Create an account to join the conversation.

More
8 months 3 weeks ago #177377 by jelo
Replied by jelo on topic PHP 7.2 and LimeSurvey 3.X?

DenisChenu wrote: Looking at diff : github.com/LimeSurvey/LimeSurvey/pull/1181/files more hacked framework file then shown in commit …

Thanks, let's see if that's get accepted soon.

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users

Please Log in or Create an account to join the conversation.

More
7 months 1 day ago #179326 by jelo
Replied by jelo on topic PHP 7.2 and LimeSurvey 3.X?
LimeSurvey is not ready for PHP 7.2.

The KCFinder has still code which contains each().

There is a much older bugreport from Dec. 2017.
bugs.limesurvey.org/view.php?id=12992

So be aware that PHP 7.1. currently is the safe bet when it comes to LimeSurvey.
Even if some setups are already working under PHP 7.2

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users

Please Log in or Create an account to join the conversation.

More
7 months 19 hours ago #179332 by DenisChenu

jelo wrote: LimeSurvey is not ready for PHP 7.2.

Don't say that … issue can exist but same in 7.1 . And here : about each : you have it only if set debug=2 …


jelo wrote: bugs.limesurvey.org/view.php?id=12992

some are already fixed, and for external libraryt : if we don't use the fucntion with each : why fix it (we don't use htmlfilter of phpmailer).

jelo wrote: So be aware that PHP 7.1. currently is the safe bet when it comes to LimeSurvey.
Even if some setups are already working under PHP 7.2

But the screenshot bugs.limesurvey.org/view.php?id=12992#c50246 was put on a PHP7.1 report : maybe 7.2 show the issue , but 7.1 have the issue too.

Since i can't reproduce the issue in 7.2

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand .
An error happen ? Before make a new topic : remind the Debug mode .

Please Log in or Create an account to join the conversation.

More
7 months 18 hours ago #179335 by jelo
Replied by jelo on topic PHP 7.2 and LimeSurvey 3.X?

Since i can't reproduce the issue in 7.2

I can reproduce that issue under php 7.2.13. Without debug=2.
It's the thumbnail generation part, which is done via a graphic library.

KCFinder is choosing the graphic library via 'imageDriversPriority' => "imagick gmagick gd".

So we have certain parts in the code, which depending on the OS/library environment is not working under PHP 7.2. LimeSurvey requirements recommend gd2. Do you use gd2 or imagick when trying to reproduce the issue?

As long as such "automatic" choosing of differrent libraries is happening, it doesn't is enough to compare PHP version numbers.

E.g. if LimeSurvey 3 is used under PHP 7.2. windows, you need OpenSSL to create a token.
The Yii framework is used to create the token.

It senses for three ways to get the random data

if(function_exists('openssl_random_pseudo_bytes'))

if(function_exists('mcrypt_create_iv')

if(($file=@fopen('/dev/urandom','rb'))

Under Windows /dev/unrandom is not available and from php 7.2 on mcrypt is gone too.
So you endup with the requirement to have openssl extension active on windows php 7.2 to run LimeSurvey.

The requirements of LimeSurvey don't reflect that.

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users

Please Log in or Create an account to join the conversation.

More
7 months 12 hours ago #179348 by DenisChenu
About 7.2 : bug was corrected when we can reproduce : bugs.limesurvey.org/view.php?id=14417 and was reported.

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand .
An error happen ? Before make a new topic : remind the Debug mode .

Please Log in or Create an account to join the conversation.

More
7 months 11 hours ago #179358 by jelo
Replied by jelo on topic PHP 7.2 and LimeSurvey 3.X?
I have created a new bugticket. From a survey author point-of-view it is a major but from a developer point-of-view it is minor. So I classified it minor.
bugs.limesurvey.org/view.php?id=14436

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users

Please Log in or Create an account to join the conversation.

More
7 months 9 hours ago #179371 by DenisChenu
Personnaly : i NEVER say it's minor, i just say : I can't reproduce on 7.2.13 …

Assistance on LimeSurvey forum and LimeSurvey core development are on my free time.
I'm not a LimeSurvey GmbH member, professional service on demand .
An error happen ? Before make a new topic : remind the Debug mode .
The following user(s) said Thank You: LouisGac

Please Log in or Create an account to join the conversation.

Start now!

Just create your account and start using Limesurvey today.

Register now
Join our Newsletter!