5.7.2.1 install fails with 'grapheme_substr: length is beyond start'

Permalink
Hi :) I'm on Wampserver 2.5, PHP 5.5.12, MySQL 5.6.17, with 128Mb mem limit (all green ticks on the installer 'check' page) - I've tried installing both the Full and Empty site versions but the installer always fails while making the dashboard (about halfway through)... all I can do is delete the tables in the dB and try again :/ error message is:
grapheme_substr(): grapheme_substr: length is beyond start.
Trace:
#0 [internal function]: Whoops\Run->handleError(2, 'grapheme_substr...', 'C:\\wamp\\www\\C57...', 197, Array) #1 C:\wamp\www\C57\concrete\vendor\patchwork\utf8\class\Patchwork\Utf8.php(197): grapheme_substr('\xC3\xA9\xC3\xA0', 1, -2) #2 C:\wamp\www\C57\concrete\src\Utility\Service\Text.php(103): Patchwork\Utf8::substr('welcome', 0, 128) #3 C:\wamp\www\C57\concrete\src\Page\Page.php(2436): Concrete\Core\Utility\Service\Text->slugSafeString('welcome') #4 C:\wamp\www\C57\concrete\src\Backup\ContentImporter.php(289): Concrete\Core\Page\Page->add(NULL, Array) #5 C:\wamp\www\C57\concrete\src\Backup\ContentImporter.php(108): Concrete\Core\Backup\ContentImporter->importPageStructure(Object(SimpleXMLElement)) #6 C:\wamp\www\C57\concrete\src\Backup\ContentImporter.php(60): Concrete\Core\Backup\ContentImporter->doImport(Object(SimpleXMLElement)) #7 C:\wamp\www\C57\concrete\src\Package\StartingPointPackage.php(97): Concrete\Core\Backup\ContentImporter->importContentFile('C:\\wamp\\www\\C57...') #8 [internal function]: Concrete\Core\Package\StartingPointPackage->install_dashboard() #9 C:\wamp\www\C57\concrete\controllers\install.php(282): call_user_func(Array) #10 [internal function]: Concrete\Controller\Install->run_routine('elemental_full', 'install_dashboa...') #11 C:\wamp\www\C57\concrete\src\Controller\AbstractController.php(156): call_user_func_array(Array, Array) #12 C:\wamp\www\C57\concrete\src\Routing\ControllerRouteCallback.php(25): Concrete\Core\Controller\AbstractController->runAction('run_routine', Array) #13 C:\wamp\www\C57\concrete\src\Routing\Router.php(59): Concrete\Core\Routing\ControllerRouteCallback->execute(Object(Concrete\Core\Http\Request), Object(Concrete\Core\Routing\Route), Array) #14 C:\wamp\www\C57\concrete\src\Support\Facade\Facade.php(116): Concrete\Core\Routing\Router->execute(Object(Concrete\Core\Routing\Route), Array) #15 C:\wamp\www\C57\concrete\src\Application\Application.php(340): Concrete\Core\Support\Facade\Facade::__callStatic('execute', Array) #16 C:\wamp\www\C57\concrete\src\Application\Application.php(340): Concrete\Core\Support\Facade\Route::execute(Object(Concrete\Core\Routing\Route), Array) #17 C:\wamp\www\C57\concrete\bootstrap\start.php(196): Concrete\Core\Application\Application->dispatch(Object(Concrete\Core\Http\Request)) #18 C:\wamp\www\C57\concrete\dispatcher.php(36): require('C:\\wamp\\www\\C57...') #19 C:\wamp\www\C57\index.php(2): require('C:\\wamp\\www\\C57...') #20 {main}

d0ugal
 
robodev replied on at Permalink Reply
https://github.com/concrete5/concrete5-5.7.0/issues/1459

Found this on GitHub
d0ugal replied on at Permalink Reply
d0ugal
Thankyou, robodev :) one of the fixes there worked. I commented out line 197 of 'my_concrete_folder\concrete\vendor\patchwork\utf8\class\Patchwork\Utf8.php' which specifically had 'grapheme_substr' in it - then Concrete installed with no problem. I'm watching the 'Getting Started with concrete 5.7' video right now :)

additional info: this worked for me on Windows 7 Home Premium, Wampserver 2.5, PHP 5.5.12, MySQL 5.6.17, with 128Mb mem limit
andrew replied on at Permalink Reply
andrew
I am totally stumped on this one.
d0ugal replied on at Permalink Reply
d0ugal
So was I, but robodev suggested a thread on github which worked for me :)
ConcreteOwl replied on at Permalink Reply
ConcreteOwl
Just had the same error on 5.7.4RC1 and commenting out line 197 of the Utf8.php file worked for me,
I am running a wamp server on my windows 7 machine

EDIT.
I can change php version from 5.5.12 to 5.6.4, so I will start over and see if it cures the problem..

EDIT 2
Same error running php version 5.6.4

EDIT 3
Undoing the changes to the Utf8.php after a successful install doesn't appear to break anything for me so far..
agencecoteo replied on at Permalink Reply
agencecoteo
Same error on 5.7.4RC1 on WIndows 7 and WampServer Version 2.5 / PHP 5.5.12 / MySQL 5.6.17.

Comment on line 197 "isset($bug62759) or $bug62759 = extension_loaded('intl') && 'à' === grapheme_substr('éà', 1, -2);" let us finish the installation process.
mnakalay replied on at Permalink Best Answer Reply
mnakalay
I know this is an old(ish) thread but I also was experiencing the same error no matter what version of C5 5.7.5 I was using, and I think I finally figured it out.

I only experienced the problem when using the 64bits version of WampServer (I'm on Windows 7 64b)

They do advise installing the 32b version even on a 64b computer because PHP for 64b is not stable and is really just for geeks.

I installed the 32b version instead, and the problem disappeared.
andrew replied on at Permalink Reply
andrew
Thanks for digging into it!
mnakalay replied on at Permalink Reply
mnakalay
Other example of problems: my add-on Buttons Pro processes some less files using the core less processor.

With PHP7 64bits installed it will fail with a 505 error and absolutely no description of the problem.

Other problem: adding pages under home in the sitemap would also throw an error back with no description or error message whatsoever.

All those problems disappeared with PHP7 32bits version
d0ugal replied on at Permalink Reply
d0ugal
Thanks mnakalay :) yes, an old thread - but very good to know.
basalba replied on at Permalink Reply
basalba
Same problem here with the following configuration:
concrete5 5.7.5.6 on XAMPP Version 5.6.15 with Apache 2.4.4 + MySQL 5.5.32 + PHP 5.6.15
on Win 10 Pro 64bit
Works fine after editing /concrete/bootstrap/configure.php