1818charlie
ECT Moderator
United Kingdom
1198 Posts |
Posted - 06/08/2019 : 06:28:46
One of our stores is currently running on ECT v7.0.2 and PHP v7.2.19. As 7.3 is available from the hosting cpanel switching to v7.3 leaves a completely white screen when in the admin or the publicly facing website.
Q = Is there an ECT minimum for PHP 7.3 or is there a 'tweak' required somewhere else?
Steve Using ECT PHP versions since 2004 / 5
Edited by - 1818charlie on 06/13/2019 12:09:38
|
Andy
ECT Moderator
95440 Posts |
Posted - 06/08/2019 : 07:27:18
|
1818charlie
ECT Moderator
United Kingdom
1198 Posts |
Posted - 06/08/2019 : 08:01:59
Hi Andy
We are holding off the update as next Tuesday we are moving our merchant bank account from RBS to Santander & we have been advised that the Santander account will work perfectly with our current Worldpay setup.
I will update the site next week to the latest 7.1.001 and I'll advise if the update corrects the issue
Steve Using ECT PHP versions since 2004 / 5
|
John Nolan
Advanced Member
Canada
409 Posts Pre-sales questions only (More Details...)
|
Posted - 06/08/2019 : 14:08:49
I've had problems with my all my products disappearing when I switch to php 7.3, so I've gone back to 7.2. I haven't updated to the latest, I'm still running ecommerce version 7.0.3.
Edited by - John Nolan on 06/08/2019 14:09:26
|
insight
ECT Moderator
USA
4479 Posts |
Posted - 06/08/2019 : 18:47:24
There's no problem as such with ECT 7.x and PHP 7.3, we have tons of ECT sites running happily on PHP 7.3.6 (the latest). If you chaps want to get to the bottom of it you'd do well to chase down your error_log and take a look and see what the actual problem is in your instance  Peter  Professional ecommerce web hosting services Ecommerce Templates specialists since 2003 https://servelink.com
|
1818charlie
ECT Moderator
United Kingdom
1198 Posts |
Posted - 06/08/2019 : 19:25:07
Hi Peter
I have just switched from 7.2 to 7.3 and this is the content of the error log.
[09-Jun-2019 02:13:51 UTC] PHP Fatal error: Uncaught Error: Class 'mysqli' not found in /home/website/public_html/vsadmin/db_conn_open.php:14 Stack trace: #0 /home/website/public_html/proddetail.php(5): include() #1 {main} thrown in /home/website/public_html/vsadmin/db_conn_open.php on line 14 [09-Jun-2019 02:14:03 UTC] PHP Fatal error: Uncaught Error: Class 'mysqli' not found in /home/website/public_html/vsadmin/db_conn_open.php:14 Stack trace: #0 /home/website/public_html/index.php(42): include() #1 {main} thrown in /home/website/public_html/vsadmin/db_conn_open.php on line 14 [09-Jun-2019 02:14:08 UTC] PHP Fatal error: Uncaught Error: Class 'mysqli' not found in /home/website/public_html/vsadmin/db_conn_open.php:14 Stack trace: #0 /home/website/public_html/proddetail.php(5): include() #1 {main} thrown in /home/website/public_html/vsadmin/db_conn_open.php on line 14 [09-Jun-2019 02:14:58 UTC] PHP Fatal error: Uncaught Error: Class 'mysqli' not found in /home/website/public_html/vsadmin/db_conn_open.php:14 Stack trace: #0 /home/website/public_html/index.php(42): include() #1 {main} thrown in /home/website/public_html/vsadmin/db_conn_open.php on line 14 [09-Jun-2019 02:15:12 UTC] PHP Fatal error: Uncaught Error: Class 'mysqli' not found in /home/website/public_html/vsadmin/db_conn_open.php:14 Stack trace: #0 /home/website/public_html/products.php(5): include() #1 {main} thrown in /home/website/public_html/vsadmin/db_conn_open.php on line 14
Line 14 in the db_conn_open.php file is as follows $GLOBALS['ectdatabase'] = new mysqli($db_host, $db_username, $db_password, $db_name);
Steve Using ECT PHP versions since 2004 / 5

|
insight
ECT Moderator
USA
4479 Posts |
Posted - 06/08/2019 : 19:35:36
Seems you don't have the mysqli extension compiled with that new version of PHP. You could easily verify that by having a look at phpinfo() and seeing if there's a mysqli section about half way down. I'm allergic to cPanel and not really qualified to say a lot more than that, but that's where you need to be looking. Peter  Professional ecommerce web hosting services Ecommerce Templates specialists since 2003 https://servelink.com
|
1818charlie
ECT Moderator
United Kingdom
1198 Posts |
Posted - 06/08/2019 : 19:50:59
Hi again Peter Mysqli wasn't checked in the available modules. Checking and saving that has cured the issue. Thanks for your assistance with that, most appreciated Time for me to hit the pit as daylight is now showing  Steve Using ECT PHP versions since 2004 / 5
|
1818charlie
ECT Moderator
United Kingdom
1198 Posts |
Posted - 06/13/2019 : 12:09:02
From the following image https://v45.co.uk/ect-forum/php-7.3.jpgcan anyone advise exactly which of the php7.3 modules must be checked to make the Froala image upload work? It's the only part of Froala that keeps failing ! It was working absolutely fine a few days ago, now it just keeps saying somethings gone wrong. The error log in the Froala folder reads and there are no other error logs anywhere else. [13-Jun-2019 19:07:35 Europe/London] PHP Fatal error: Uncaught Exception: The Froala Editor SDK library requires the fileinfo extension. in /home/mywebsite/public_html/vsadmin/froala/lib/FroalaEditor.php:22 Stack trace: #0 /home/mywebsite/public_html/vsadmin/froala/lib/FroalaEditor.php(27): requireDependencies() #1 /home/mywebsite/public_html/vsadmin/froala/upload_image.php(12): require('/home/mywebsite/...') #2 {main} thrown in /home/mywebsite/public_html/vsadmin/froala/lib/FroalaEditor.php on line 22In the FroalaEditor.php file, from line 18 down reads and makes reference to two required extensions 18 function requireDependencies() { 19 $requiredExtensions = ['fileinfo', 'imagick']; 20 foreach ($requiredExtensions AS $ext) { 21 if (!extension_loaded($ext)) { 22 throw new Exception('The Froala Editor SDK library requires the ' . $ext . ' extension.');With the fileinfo & imagick extensions enabled nothing changes. There have been zero changes to the ECT version 7.1.0 and reverting back to php 7.1 or 7.2 results in image upload failure. Steve Using ECT PHP versions since 2004 / 5

|
insight
ECT Moderator
USA
4479 Posts |
Posted - 06/13/2019 : 12:13:55
I believe you need fileinfo & imagick for that. Peter  Professional ecommerce web hosting services Ecommerce Templates specialists since 2003 https://servelink.com
Edited by - insight on 06/13/2019 12:14:20
|
1818charlie
ECT Moderator
United Kingdom
1198 Posts |
Posted - 06/13/2019 : 17:03:24
Enabling fileinfo & imagick Froala still fails to upload images
Steve Using ECT PHP versions since 2004 / 5
|
Vince
Administrator
42874 Posts |
Posted - 06/13/2019 : 21:50:01
|
John Nolan
Advanced Member
Canada
409 Posts Pre-sales questions only (More Details...)
|
Posted - 06/14/2019 : 07:34:50
Can anyone tell me how to access the error log for PHp? My install won't work with PHP 7.3, but I don't know how to troubleshoot it.
|
Andy
ECT Moderator
95440 Posts |
Posted - 06/14/2019 : 07:40:22
Steve's solution was to go to the hosting control panel and there should be a link for PHP Info or something like that. There's a whole page of available choices and you need to make sure mySqli is checked. Your host should provide error logs, often a file called error_log in the root of your site that you can open with a text editor like Notepad++ Andy Please feel free to review / rate our software
|
John Nolan
Advanced Member
Canada
409 Posts Pre-sales questions only (More Details...)
|
Posted - 06/14/2019 : 07:51:54
Right, I did find the info panel, and sql is checked. There are a couple of HUGE log files in the root of my site with a .gz extension. When I unpack them, I don't know what to look for.
Edited by - John Nolan on 06/14/2019 07:54:50
|
Andy
ECT Moderator
95440 Posts |
Posted - 06/14/2019 : 07:58:47
You need to make sure Mysqli is checked. For the log file you would need to update to PHP 7.3, visit the site and then download the error logs so you can find the errors near the top of the list. Look for something that starts with the timestamp and then like PHP Fatal Error..... Andy Please feel free to review / rate our software
|
John Nolan
Advanced Member
Canada
409 Posts Pre-sales questions only (More Details...)
|
Posted - 06/14/2019 : 08:14:12
Thanks Andy. I'll give that a try.
MySQL is checked.
|
Andy
ECT Moderator
95440 Posts |
Posted - 06/14/2019 : 08:15:12
|
John Nolan
Advanced Member
Canada
409 Posts Pre-sales questions only (More Details...)
|
Posted - 06/14/2019 : 08:20:31
Ahha!
My PHP info panel offers "mysqli" in the 7.2 panel, but when I select 7.3, the panel offers "mysqlnd", "nd_mysqli" and "nd_pdo_mysql" but not "mysqli".
What should I do?
Edited by - John Nolan on 06/14/2019 19:05:47
|
Andy
ECT Moderator
95440 Posts |
Posted - 06/14/2019 : 23:54:33
|
1818charlie
ECT Moderator
United Kingdom
1198 Posts |
Posted - 06/15/2019 : 05:15:14
I have been having a look around and this is what I have found. I shall have to try the modules in php7.3 later this weekend. Excuse the long winded description of the three modules
nd_mysql: MySQL native driver for PHP (mysqlnd) is a drop-in replacement for the MySQL Client Library (libmysql) for the PHP script language. The mysqlnd library is highly optimized for and tightly integrated into PHP. The MySQL Client Library cannot offer the same optimizations because it is a general-purpose client library. The mysqlnd library is using PHP internal C infrastructure for seamless integration into PHP. In addition, it is using PHP memory management, PHP Streams (I/O abstraction) and PHP string handling routines. The use of PHP memory management by mysqlnd allows, for example, memory savings by using read-only variables (copy on write) and makes mysqlnd apply to PHP memory limits
nd_mysqli: this extension is referred to as MySQL improved. It was developed to take advantage of the new features available in MySQL since version 4.1.3.
nd_pdo_mysql: MySQL Native Driver is a replacement for the MySQL Client Library (libmysqlclient). MySQL Native Driver is part of the official PHP sources as of PHP 5.3.0. The MySQL database extensions MySQL extension, mysqli and PDO MYSQL all communicate with the MySQL server. In the past, this was done by the extension using the services provided by the MySQL Client Library. The extensions were compiled against the MySQL Client Library in order to use its client-server protocol. With MySQL Native Driver there is now an alternative, as the MySQL database extensions can be compiled to use MySQL Native Driver instead of the MySQL Client Library. MySQL Native Driver is written in C as a PHP extension. Using the MySQL Native Driver offers a number of advantages over using the MySQL Client Library. The older MySQL Client Library was written by MySQL AB (now Oracle Corporation) and so was released under the MySQL license. This ultimately led to MySQL support being disabled by default in PHP. However, the MySQL Native Driver has been developed as part of the PHP project and is therefore released under the PHP license. This removes licensing issues that have been problematic in the past. Also, in the past, you needed to build the MySQL database extensions against a copy of the MySQL Client Library. This typically meant you needed to have MySQL installed on a machine where you were building the PHP source code. Also, when your PHP application was running, the MySQL database extensions would call down to the MySQL Client library file at run time, so the file needed to be installed on your system. With MySQL Native Driver that is no longer the case as it is included as part of the standard distribution. So you do not need MySQL installed in order to build PHP or run PHP database applications. Because MySQL Native Driver is written as a PHP extension, it is tightly coupled to the workings of PHP. This leads to gains in efficiency, especially when it comes to memory usage, as the driver uses the PHP memory management system. It also supports the PHP memory limit. Using MySQL Native Driver leads to comparable or better performance than using MySQL Client Library, it always ensures the most efficient use of memory. One example of the memory efficiency is the fact that when using the MySQL Client Library, each row is stored in memory twice, whereas with the MySQL Native Driver each row is only stored once in memory.
Steve Using ECT PHP versions since 2004 / 5

|
|