Jump to content

Recommended Posts

Posted

 

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

%

Posted

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.  🙂

Posted

% 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

%

 

 

Posted

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. 

Posted

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. 

Could contain: Word, Number, Text, Symbol, Menu, Page

Could contain: Word, Text, Number, Symbol, Menu

Posted

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.

  • 2 weeks later...
Posted

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

Posted

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?

Posted
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

Posted
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. 

 

Posted
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.

Posted
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

Posted

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...