Radicore Forum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » RADICORE » RADICORE Installation Issues » Radicore V 2.25.0
Radicore V 2.25.0 [message #7771] Wed, 08 February 2023 09:39 Go to next message
htManager is currently offline  htManager
Messages: 433
Registered: May 2014
Senior Member
Hi Tony,

I just installed version 2.25.0 and changed the php version on our web server to > 8 (8.0.27 or 8.2.22). I can log in my application but as soon as I call a list2 pattern I get a 500 error in microsoft edge. In Firefox there is a blank white site. Changing back to php 7.4.33, everything works fine again. Do I have to change some other settings?
Re: Radicore V 2.25.0 [message #7772 is a reply to message #7771] Wed, 08 February 2023 10:25 Go to previous messageGo to next message
AJM is currently offline  AJM
Messages: 2367
Registered: April 2006
Location: Surrey, UK
Senior Member
Do you see any error in your Apache log file or your PHP error_log? What about RADICORE's errorlog.html file?

Re: Radicore V 2.25.0 [message #7773 is a reply to message #7772] Wed, 08 February 2023 11:35 Go to previous messageGo to next message
htManager is currently offline  htManager
Messages: 433
Registered: May 2014
Senior Member
I found the problem in errorlog.html

The declaration of the custom methods in my classes are different from those in std.table.class.inc.

Do I have to change now all custom methods in my classes?


<p>[Wed, 08 Feb 23 16:14:42 +0000]<br>
script=/var/www/vhosts/mgh-saar.de/hartz.biz/himanager/him/m ietvertraege(list2).php <br>
type=64 <br>
message=Declaration of mietvertraege::_cm_getValRep($item, $where, $orderby = '') must be compatible with Default_Table::_cm_getValRep($item = '', $where = '', $orderby = '') <br>
file=/var/www/vhosts/mgh-saar.de/hartz.biz/himanager/him/cla sses/mietvertraege.class.inc <br>
line=213 <br>
</p>
<p>[Wed, 08 Feb 23 16:15:38 +0000]<br>
script=/var/www/vhosts/mgh-saar.de/hartz.biz/himanager/him/m ietvertraege(list2).php <br>
type=64 <br>
message=Declaration of mietvertraege::_cm_popupReturn($fieldarray, $return_from, $select_array, $return_files, $fieldname) must be compatible with Default_Table::_cm_popupReturn($fieldarray, $return_from, &$select_array, $return_files, $fieldname) <br>
file=/var/www/vhosts/mgh-saar.de/hartz.biz/himanager/him/cla sses/mietvertraege.class.inc <br>
line=435 <br>
</p>
Re: Radicore V 2.25.0 [message #7774 is a reply to message #7773] Wed, 08 February 2023 11:59 Go to previous messageGo to next message
AJM is currently offline  AJM
Messages: 2367
Registered: April 2006
Location: Surrey, UK
Senior Member
Unfortunately the answer is yes. The PHP core developers have upgraded some things which were notices in earlier PHP versions to errors in PHP 8 as they think it is more "pure" and "proper". What a bummer Sad

Re: Radicore V 2.25.0 [message #7775 is a reply to message #7774] Wed, 08 February 2023 12:14 Go to previous messageGo to next message
htManager is currently offline  htManager
Messages: 433
Registered: May 2014
Senior Member
Ok. No problem.

But I have one more problem after changing the custom methods:

2023-02-08 17:10:38
Fatal Error: Uncaught exception from TypeError, message = implode(): Argument #1 ($pieces) must be of type array, string given, code=0, file=/var/www/vhosts/mgh-saar.de/includes/std.table.class.in c, line=13707 (# 256)
Error in line 496 of file '/var/www/vhosts/mgh-saar.de/includes/error.inc'.
PHP_SELF: /htmanager/htm/orga_kontakte_account(list1).php
CURRENT DIRECTORY: /var/www/vhosts/mgh-saar.de/htmanager.de/htmanager/htm
SERVER_ADDR: 2003:da:7f29:fd00:8185:31b7:18a3:7233
SERVER_NAME: htmanager.de
HTTP_HOST: http://www.htmanager.de
User Id: HSGSB
Role Id: ROLE_HT_USER
REMOTE_ADDR: 2003:da:7f29:fd00:8185:31b7:18a3:7233
REQUEST_URI: /htmanager/htm/orga_kontakte_account(list1).php?csrf_id=63e3 d78d94dcc1.47530735&session_name=menu1

Page Stack:

[0] htm_main
[1] htm_orga
[2] htm_orga_kontakte_account(list1)

Backtrace:
0: array =
exception: string = implode(): Argument #1 ($pieces) must be of type array, string given
file: string = /var/www/vhosts/mgh-saar.de/includes/std.table.class.inc
line: integer = 13707
code: integer = 0
1: array =
file: string = /var/www/vhosts/mgh-saar.de/includes/std.table.class.inc
line: integer = 13707
function: string = implode
2: array =
file: string = /var/www/vhosts/mgh-saar.de/includes/std.table.class.inc
line: integer = 4184
function: string = _sqlAssembleWhere
class: string = Default_Table
type: string = ->
3: array =
file: string = /var/www/vhosts/mgh-saar.de/includes/std.list1.inc
line: integer = 156
function: string = getData
class: string = Default_Table
type: string = ->
4: array =
file: string = /var/www/vhosts/mgh-saar.de/htmanager.de/htmanager/htm/orga_ kontakte_account(list1).php
line: integer = 19
args: array =
0: string = /var/www/vhosts/mgh-saar.de/includes/std.list1.inc
function: string = require
Re: Radicore V 2.25.0 [message #7776 is a reply to message #7775] Wed, 08 February 2023 12:40 Go to previous messageGo to next message
AJM is currently offline  AJM
Messages: 2367
Registered: April 2006
Location: Surrey, UK
Senior Member
Line 13707 in std.table.class.inc is as follows:
$this->sql_orderby = implode(', ', $this->primary_key);
which is correct according to the manual. Can you verify that $this->primary_key is an array?


Re: Radicore V 2.25.0 [message #7777 is a reply to message #7776] Thu, 09 February 2023 04:13 Go to previous messageGo to next message
htManager is currently offline  htManager
Messages: 433
Registered: May 2014
Senior Member
I first had to install php 8.2.0 in my xampp environment. After finishing, I wanted to check in my debugger if "$this->primary_key" is an array in php 8.2.0. (In php 7.4 it is.)

But I can't log in anymore. I get the following error messages:

Fatal Error: XSL functions are not available. (# 256)
Error in line 41 of file 'C:\xampp\htdocs\radicore\includes\include.xml.php5.inc'.
PHP_SELF: /radicore/menu/logon.php
CURRENT DIRECTORY: C:\xampp\htdocs\radicore\menu
SERVER_ADDR: ::1
SERVER_NAME: localhost
HTTP_HOST: localhost
REMOTE_ADDR: ::1
REQUEST_URI: /radicore/menu/logon.php?XDEBUG_SESSION_START=ECLIPSE_DBGP&a mp;KEY=16759334549821

What can I do now?
Re: Radicore V 2.25.0 [message #7778 is a reply to message #7777] Thu, 09 February 2023 04:21 Go to previous messageGo to next message
AJM is currently offline  AJM
Messages: 2367
Registered: April 2006
Location: Surrey, UK
Senior Member
You have not enabled the XSL extension. You need to update your php.ini file to remove the leading ';' from the line which reads:
extension=php_xsl.dll


Re: Radicore V 2.25.0 [message #7779 is a reply to message #7778] Thu, 09 February 2023 04:42 Go to previous messageGo to next message
htManager is currently offline  htManager
Messages: 433
Registered: May 2014
Senior Member
Thank you. Just as the last time ... Very Happy
Re: Radicore V 2.25.0 [message #7780 is a reply to message #7779] Thu, 09 February 2023 04:49 Go to previous messageGo to next message
AJM is currently offline  AJM
Messages: 2367
Registered: April 2006
Location: Surrey, UK
Senior Member
Is $this->primary_key an array?

Re: Radicore V 2.25.0 [message #7781 is a reply to message #7780] Fri, 10 February 2023 10:21 Go to previous messageGo to next message
htManager is currently offline  htManager
Messages: 433
Registered: May 2014
Senior Member
Sorry. It took a bit time to install new php version 8.2 on my local xampp installation...

No, $this->primary_key is not an array. It is empty.
Re: Radicore V 2.25.0 [message #7782 is a reply to message #7781] Fri, 10 February 2023 10:30 Go to previous messageGo to next message
AJM is currently offline  AJM
Messages: 2367
Registered: April 2006
Location: Surrey, UK
Senior Member
Why is it empty? Does that table not have a primary key? What is the value for $this->primary_key in the <table>.dict.inc file?

Re: Radicore V 2.25.0 [message #7783 is a reply to message #7782] Fri, 10 February 2023 10:57 Go to previous messageGo to next message
htManager is currently offline  htManager
Messages: 433
Registered: May 2014
Senior Member
The table has a primary key. Here you can see what's in the <table>.dict.inc file:

// primary key details
$this->primary_key = array('pool_user_id',
'pool_user_seq_no',
'pool_rdcaccount_id');
Re: Radicore V 2.25.0 [message #7784 is a reply to message #7783] Fri, 10 February 2023 11:31 Go to previous messageGo to next message
AJM is currently offline  AJM
Messages: 2367
Registered: April 2006
Location: Surrey, UK
Senior Member
There must be some code somewhere which empties $this->primary_key. You will have to step through with your debugger to see where it happens.

Re: Radicore V 2.25.0 [message #7785 is a reply to message #7784] Sat, 11 February 2023 04:05 Go to previous messageGo to next message
htManager is currently offline  htManager
Messages: 433
Registered: May 2014
Senior Member
I will do so. Any idea where this could be?
Re: Radicore V 2.25.0 [message #7786 is a reply to message #7785] Sat, 11 February 2023 04:44 Go to previous messageGo to next message
AJM is currently offline  AJM
Messages: 2367
Registered: April 2006
Location: Surrey, UK
Senior Member
I haven't a clue. My first step would be to check the contents of this variable after each method call so that you can isolate the method in which it is being changed. Then you can step through that method one line at a time to see where it is happening.

Re: Radicore V 2.25.0 [message #7787 is a reply to message #7786] Tue, 14 February 2023 04:24 Go to previous messageGo to next message
htManager is currently offline  htManager
Messages: 433
Registered: May 2014
Senior Member
I found the reason for at least this problem.

In some of my class files I had the "former version" of __construct() method. Instead of function __construct() there was function foo_bar() and that causes this error since php 8. In 7.4.33 everything works fine.

But obviously I have some more problems with deprecated code... I have to go through with my debugger...
Re: Radicore V 2.25.0 [message #7788 is a reply to message #7787] Tue, 14 February 2023 04:33 Go to previous messageGo to next message
AJM is currently offline  AJM
Messages: 2367
Registered: April 2006
Location: Surrey, UK
Senior Member
Unfortunately the PHP core developers are an arrogant bunch who do not regard backwards compatibility as a feature but an obstacle which can be discarded on a whim in order to produce a language which is more to THEIR liking and "sod the millions of application developers who use it". I have written several articles on this subject with the latest being The PHP core developers are lazy, incompetent idiots

[Updated on: Tue, 02 January 2024 04:40]

Report message to a moderator

Re: Radicore V 2.25.0 [message #7789 is a reply to message #7788] Tue, 14 February 2023 06:38 Go to previous message
htManager is currently offline  htManager
Messages: 433
Registered: May 2014
Senior Member
I do agree to you. I haven't understand all that you wrote but I can imagine what huge amount of extra work this is for professional developers.
Previous Topic: V 2.19.0 - include_path
Next Topic: Error with dictionary import
Goto Forum:
  


Current Time: Mon Nov 18 07:33:51 EST 2024

Total time taken to generate the page: 0.09699 seconds