View Issue Details

This bug affects 1 person(s).
 8
IDProjectCategoryView StatusLast Update
19687Bug reportsOtherpublic2024-10-09 19:47
Reportertibor.pacalat Assigned Togabrieljenik  
PrioritynoneSeverityminor 
Status in code reviewResolutionopen 
Product Version6.6.x 
Summary19687: php8.3 compatibility - Zend (xmlrpc related)
Description

Main ticket https://bugs.limesurvey.org/view.php?id=19632

Zend
FILE: /var/www/html/limesurvey/application/helpers/Zend/XmlRpc/Server.php
FILE: /var/www/html/limesurvey/application/helpers/Zend/Validate/File/Count.php
FILE: /var/www/html/limesurvey/application/helpers/Zend/Validate/File/ImageSize.php
FILE: /var/www/html/limesurvey/application/helpers/Zend/Validate/File/Size.php
FILE: /var/www/html/limesurvey/application/helpers/Zend/Validate/File/FilesSize.php
FILE: /var/www/html/limesurvey/application/helpers/Zend/Validate/EmailAddress.php
FILE: /var/www/html/limesurvey/application/helpers/Zend/Validate/CreditCard.php
FILE: /var/www/html/limesurvey/application/helpers/Zend/Validate/StringLength.php
FILE: /var/www/html/limesurvey/application/helpers/Zend/Validate/Ip.php
FILE: /var/www/html/limesurvey/application/helpers/Zend/Validate/Hostname.php
FILE: /var/www/html/limesurvey/application/helpers/Zend/Validate/Date.php
FILE: /var/www/html/limesurvey/application/helpers/Zend/Validate/Db/Abstract.php
FILE: /var/www/html/limesurvey/application/helpers/Zend/Validate/InArray.php
FILE: /var/www/html/limesurvey/application/helpers/Zend/Validate/NotEmpty.php
FILE: /var/www/html/limesurvey/application/helpers/Zend/Validate/Between.php

Steps To Reproduce

Steps to reproduce

(Replace this text with detailed step-by-step instructions on how to reproduce the issue)

Expected result

(Write here what you expected to happen)

Actual result

(Write here what happened instead)

TagsNo tags attached.
Bug heat8
Complete LimeSurvey version number (& build)6.6.1+240806
I will donate to the project if issue is resolvedNo
Browser
Database type & version.
Server OS (if known)
Webserver software & version (if known)
PHP Version.

Relationships

child of 19632 assignedgabrieljenik Make Limesurvey compatible with php8.3 

Users monitoring this issue

There are no users monitoring this issue.

Activities

DenisChenu

DenisChenu

2024-09-18 18:42

developer   ~81050

controllers/admin/RemoteControl.php:     * @var Zend_XmlRpc_Server
controllers/admin/RemoteControl.php:                require_once('Zend/XmlRpc/Server.php');
controllers/admin/RemoteControl.php:                require_once('Zend/XmlRpc/Server/Exception.php');
controllers/admin/RemoteControl.php:                require_once('Zend/XmlRpc/Value/Exception.php');
controllers/admin/RemoteControl.php:                $this->xmlrpc = new Zend_XmlRpc_Server();
controllers/admin/RemoteControl.php:                Yii::import('application.libraries.LSZend_XmlRpc_Response_Http');
controllers/admin/RemoteControl.php:                $this->xmlrpc->setResponseClass('LSZend_XmlRpc_Response_Http');
controllers/admin/RemoteControl.php:                if ($result instanceof LSZend_XmlRpc_Response_Http) {
controllers/admin/RemoteControl.php:                    // a Zend_XmlRpc_Server_Fault with exception message from XMLRPC
controllers/admin/RemoteControl.php:                require_once('Zend/XmlRpc/Client.php');
controllers/admin/RemoteControl.php:                $client = new Zend_XmlRpc_Client($serverUrl);
libraries/LSZend_XmlRpc_Response_Http.php:class LSZend_XmlRpc_Response_Http extends Zend_XmlRpc_Response_Http
DenisChenu

DenisChenu

2024-09-19 09:52

developer   ~81051

For dev : https://github.com/gggeek/phpxmlrpc ?

For master : delete whole Zen except RPC (and related) ? Or move to https://github.com/laminas/laminas-xmlrpc ?

DenisChenu

DenisChenu

2024-09-20 15:36

developer   ~81070

Wait for https://github.com/LimeSurvey/LimeSurvey/pull/3962 to touch vendor

p_teichmann

p_teichmann

2024-09-26 16:56

administrator   ~81117

If we just removed the xmlrpc then users code based on it would be broken, so i would definitely prefer to replace it with a new xmlrpc.
I am not sure how much needs to be updated for it to work, but the previous one seemed lightweight in the usage.

DenisChenu

DenisChenu

2024-09-26 17:26

developer   ~81120

If we just removed the xmlrpc then users code based on it would be broken, so i would definitely prefer to replace it with a new xmlrpc.

Yes i know

I am not sure how much needs to be updated for it to work, but the previous one seemed lightweight in the usage.

Issue with https://github.com/zendframework/zend-xmlrpc : This repository has been archived by the owner on Apr 28, 2020. It is now read-only.
Issue with https://github.com/laminas/laminas-xmlrpc : no php7.4 support : "php": "~8.1.0 || ~8.2.0 || ~8.3.0",

Then : try https://github.com/gggeek/phpxmlrpc/blob/master/composer.json in vendor "php": "^5.4.0 || ^7.0 || ^8.0", (reason why i wait for vendor update currently)

tibor.pacalat

tibor.pacalat

2024-10-02 16:27

administrator   ~81142

https://bugs.limesurvey.org/view.php?id=19685 was merged into master, any progress on this ticket?

DenisChenu

DenisChenu

2024-10-03 17:14

developer   ~81156

Can you find another dev for this ?
I really think i don't find a good way (or wait a lot lot lot of time …)

Thank you

gabrieljenik

gabrieljenik

2024-10-07 18:01

manager   ~81177

Last edited: 2024-10-07 18:02

https://github.com/LimeSurvey/LimeSurvey/pull/3985

I encountered compatibility issues with Zend Framework 1 (ZF1) when using newer PHP versions.
After some investigation, I found the following solutions:

Original Source (zendframework/zf1):
The original ZF1 project reached its end-of-life in 2016. The repository contains a conversion of the ZF1 subversion repo to Git, starting from version 15234 onward. However, Lime (another context) seems to use only a subset of the library/Zend files from this repository.

ZF1 Future (Shardj’s Fork):
I discovered a fork called “ZF1 Future” on GitHub, maintained by Shardj. This fork aims to create a PHP 8.1-compatible version of ZF1.
While it almost worked for me, I still had to apply a manual fix.
If you’re interested, consider contributing by submitting a pull request (PR) to the “ZF1 Future” repository. The last update was about two weeks ago.

Testing and Compatibility:
I tested the solution with the RemoteControl controller. Interestingly, it failed in the same place as it did with PHP 7.4.
So no new issues introduced here.

DenisChenu

DenisChenu

2024-10-07 18:09

developer   ~81178

If you’re interested, consider contributing by submitting a pull request (PR) to the “ZF1 Future” repository. The last update was about two weeks ago.

It can be great !

Then we can move to vendor (it's my solution with gggeek/phpxmlrpc : but a lot of work for adaptation)

Else : add a test is easy : https://github.com/LimeSurvey/LimeSurvey/pull/3975
(i can PR your Pull Request)

DenisChenu

DenisChenu

2024-10-09 15:25

developer   ~81198

  1. Add a test : it's needed
  2. Way to move to vendor ? Maybe after a PR to ZF1 Future ?
gabrieljenik

gabrieljenik

2024-10-09 19:47

manager   ~81210

We will workaround the xmlrpc issue for now. Still, in the future, I suggest to keep only json. Obviously, not many people is using XML. If not someerror would have been triggered in the past by users.

Issue History

Date Modified Username Field Change
2024-08-08 14:10 tibor.pacalat New Issue
2024-09-11 12:33 tibor.pacalat Assigned To => DenisChenu
2024-09-11 12:33 tibor.pacalat Status new => assigned
2024-09-12 11:19 DenisChenu Relationship added child of 19632
2024-09-18 18:42 DenisChenu Note Added: 81050
2024-09-18 18:42 DenisChenu Bug heat 0 => 2
2024-09-19 09:52 DenisChenu Note Added: 81051
2024-09-20 15:36 DenisChenu Note Added: 81070
2024-09-25 08:49 DenisChenu Summary php8.3 compatibility - Zend => php8.3 compatibility - Zend (xmlrpc related)
2024-09-26 16:56 p_teichmann Note Added: 81117
2024-09-26 16:56 p_teichmann Bug heat 2 => 4
2024-09-26 17:26 DenisChenu Note Added: 81120
2024-10-02 16:27 tibor.pacalat Note Added: 81142
2024-10-02 16:27 tibor.pacalat Bug heat 4 => 6
2024-10-03 17:13 DenisChenu Assigned To DenisChenu => tibor.pacalat
2024-10-03 17:14 DenisChenu Note Added: 81156
2024-10-04 16:14 tibor.pacalat Assigned To tibor.pacalat => gabrieljenik
2024-10-07 18:01 gabrieljenik Assigned To gabrieljenik => DenisChenu
2024-10-07 18:01 gabrieljenik Status assigned => ready for code review
2024-10-07 18:01 gabrieljenik Note Added: 81177
2024-10-07 18:01 gabrieljenik Bug heat 6 => 8
2024-10-07 18:02 gabrieljenik Note Edited: 81177
2024-10-07 18:09 DenisChenu Note Added: 81178
2024-10-09 15:25 DenisChenu Status ready for code review => in code review
2024-10-09 15:25 DenisChenu Note Added: 81198
2024-10-09 15:25 DenisChenu Assigned To DenisChenu => gabrieljenik
2024-10-09 19:47 gabrieljenik Note Added: 81210