dalbert Posted October 19, 2022 Posted October 19, 2022 Attempting to update UTF8, and we get an error as follows (full command line output below) with a PHP8 install Error: count(): Argument #1 ($value) must be of type Countable|array, null given File: /system/Convert/Convert.php Line: 552 Would appreciate guidance on how to proceed. Thanks. ------------- % php cli.php --info IP.Board Character Set: iso-8859-1 Database Character Set: latin1 Original table prefix: ibf_ Converted table prefix: x_utf_ibf_ 190 tables are latin1 190 tables have incorrect collations Can use 'dump' method: true % % php cli.php ---------------------------------------------------- Welcome to the IPS UTF8 Conversion utility (v1.1.20) ---------------------------------------------------- This utility will convert all the tables in this database to UTF-8. The converted data is inserted into new tables prefixed with x_utf_ and the original data kept. You have a conversion session unfinished. The session was last updated on Wed 19 October 2022 and has processed 43 tables (1%) so far. [c] Enter 'c' to continue [x] Enter 'x' to reset and start the conversion again. x Are you sure? This will re-start the conversion [y] Enter 'y' to re-start the conversion [c] Enter 'c' to continue the conversion. y ---------------------------------------------------- Welcome to the IPS UTF8 Conversion utility (v1.1.20) ---------------------------------------------------- 190 table(s) are not UTF-8 and need converting. This utility will convert all the tables in this database to UTF-8. The converted data is inserted into new tables prefixed with x_utf_ and the original data kept. Press enter to continue Processing: cache_store 1% Error: count(): Argument #1 ($value) must be of type Countable|array, null given File: /system/Convert/Convert.php Line: 552 %
Randy Calvert Posted October 19, 2022 Posted October 19, 2022 From the command line, run "php -v". What version is it reporting? Several folks have reported problems with the CLI version of PHP being different. Meaning just "php" might return PHP 7.2 whereas php80 is needed for PHP8. If it's not that issue, one of the staff would have to help further. 🙂
dalbert Posted October 19, 2022 Author Posted October 19, 2022 % php -v PHP 8.0.24 (cli) (built: Sep 29 2022 13:47:46) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.24, Copyright (c) Zend Technologies %
dalbert Posted October 19, 2022 Author Posted October 19, 2022 As an update, I have also used MyPHPadmin to drop all of the x_utf_ entries, in the hope that it would get a fresh start from the CLI, but get the same message.
dalbert Posted October 19, 2022 Author Posted October 19, 2022 In the event the info helps, here are the x_utf tables that were generated, in the event it gives a better explanation of where the process is stopping at.
Jim M Posted October 19, 2022 Posted October 19, 2022 Please be advised I have moved this to a ticket so that we can take a closer look at what is happening. Please check your email inbox for further instructions.
Seirei Posted October 29, 2022 Posted October 29, 2022 I have the same problem: # php cli.php ---------------------------------------------------- Welcome to the IPS UTF8 Conversion utility (v1.1.20) ---------------------------------------------------- 199 table(s) are not UTF-8 and need converting. This utility will convert all the tables in this database to UTF-8. The converted data is inserted into new tables prefixed with x_utf_ and the original data kept. Press enter to continue Processing: cache_store 1% Error: count(): Argument #1 ($value) must be of type Countable|array, null given File: /system/Convert/Convert.php Line: 552 I tried restart, but that wasnt helped. # php -v PHP 8.0.20 (cli) (built: Jun 8 2022 00:33:06) ( NTS gcc x86_64 ) Copyright (c) The PHP Group Zend Engine v4.0.20, Copyright (c) Zend Technologies with Zend OPcache v8.0.20, Copyright (c), by Zend Technologies
Jim M Posted October 29, 2022 Posted October 29, 2022 The error here with the OP, after further investigation, turned out being something with the MySQL server not executing in time a proper SHOW TABLES query. Could you please try this process again?
Seirei Posted October 29, 2022 Posted October 29, 2022 32 minutes ago, Jim M said: The error here with the OP, after further investigation, turned out being something with the MySQL server not executing in time a proper SHOW TABLES query. Could you please try this process again? The same error. Attached the log: error_2022-10-29.cgi
Jim M Posted October 29, 2022 Posted October 29, 2022 19 minutes ago, Seirei said: The same error. Attached the log: error_2022-10-29.cgi 5.3 kB · 1 download We would need to look further into this for you, however the access details on file appear to be incorrect or missing. Could you please update these details by visiting your client area, selecting the relevant purchase, then clicking "Review/Update Access Information" under the "Stored Access Information" section. We look forward to further assisting you.
Seirei Posted October 29, 2022 Posted October 29, 2022 25 minutes ago, Jim M said: We look forward to further assisting you. I updated my access information.
Jim M Posted October 29, 2022 Posted October 29, 2022 7 minutes ago, Seirei said: I updated my access information. Reviewing your server details, I would recommend trying our 4.7.4 beta 2 which is out now in the Client Area as this includes some fixes to the UTF8 converter which may help you proceed past this.
Seirei Posted October 29, 2022 Posted October 29, 2022 5 hours ago, Jim M said: Reviewing your server details, I would recommend trying our 4.7.4 beta 2 which is out now in the Client Area as this includes some fixes to the UTF8 converter which may help you proceed past this. It helped, but progress stucks on table 'search_keywords' with error: Error: Specified key was too long; max key length is 1000 bytes File: /system/Db/Db.php Line: 198 an_search_keywords.sql error_2022-10-29.cgi
Jim M Posted October 29, 2022 Posted October 29, 2022 55 minutes ago, Seirei said: It helped, but progress stucks on table 'search_keywords' with error: Error: Specified key was too long; max key length is 1000 bytes File: /system/Db/Db.php Line: 198 an_search_keywords.sql 1.36 kB · 1 download error_2022-10-29.cgi 4.32 kB · 0 downloads Are you using InnoDB and dynamic row format?
Seirei Posted October 29, 2022 Posted October 29, 2022 59 minutes ago, Jim M said: Are you using InnoDB and dynamic row format? No, I use MyISAM as storage engine for tables.
Jim M Posted October 30, 2022 Posted October 30, 2022 You may wish to convert to InnoDB to see if this helps. MyISAM is limited to 1000 bytes, whereas InnoDB is limited to ~3000. Be sure to utilize the Dynamic row format as well.
Recommended Posts