PCRE problem during install

I am having some issues during the installation. I am installing the latest SuiteCRM (v8) on a Windows server. Having some initial issues on the system check and getting through them one by one.

Right now though, I have an issue highlighted on the System Check in blue that is not allowing me forward. (I thought blue was a warning, but it is not allowing me to progress).

The issue I am seeing is…

PCRE library version: SuiteCRM needs PCRE library 7.0 or above to process Perl style of regular expression pattern matching.

I have no idea about Perl or PHP to resolve this properly. I have found the PCRE website and done a download, but it looks like I need to compile from source. Also, I don’t know where the required DLL would be placed… would that be in my PHP folder? Perl folder? or somewhere in the SuiteCRM folder?

Your help and guidance would be much appreciated.

PCRE is a standard PHP library, and it is normally enabled by default. Look online for ways to enable (or if needed, to first install, and then enable) that PHP library in your stack.

Thank you.

According to phpinfo, I am running PHP version 7.2.2. It is also showing that PCRE is enabled, and version 8.41.

So, it appears I have everything required, but I have the message on System Check Acceptance, and can’t move beyond it.

As PCRE is installed, enabled and above 7.0, how to I get past this screen?

Thanks for your continued help.

You can’t run SuiteCRM v8 with PHP 7.2:

Maybe upgrading PHP will get PCRE recognized and solve the problem.

If not, first make sure you’re looking at the correct phpinfo, if you got it from the command-line, that’s not the correct one. An easy way to get the one that affects the web server is to go to Admin / Diagnostics / phpinfo.

Thanks, that could be why I have the problem I guess… however, I have just installed PHP 8.1.12 (hopefully, this has not killed anything else) and am having problems.

PHP Info was actually a web page that just calls phpinfo().

The problem I am having now is…

PHP Deprecated: Return type of Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\Websites\SuiteCRM\vendor\symfony\http-foundation\Session\Attribute\AttributeBag.php on line 134
PHP Deprecated: Return type of Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\Websites\SuiteCRM\vendor\symfony\http-foundation\Session\Attribute\AttributeBag.php on line 144
PHP Deprecated: Return type of Symfony\Component\HttpFoundation\Session\Session::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\Websites\SuiteCRM\vendor\symfony\http-foundation\Session\Session.php on line 131
PHP Deprecated: Return type of Symfony\Component\HttpFoundation\Session\Session::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in C:\Websites\SuiteCRM\vendor\symfony\http-foundation\Session\Session.php on line 141

Again, I have very little knowledge of PHP so I don’t know what all this is.

Did you check the Compatibility Matrix? It all gets much easier if you just install a supported version of PHP :slight_smile:

After I sent the last reply, I re-read your message and went to the compatibility matrix… though I am on Windows and it doesn’t mention Windows.

However, I downloaded an earlier version now of PHP (8.0.25) and I have the page running again now. However, when I press the proceed button, I just get a narrow pink line at the top with an x in it… and that is all.

Now, I guess this might be my MySQL version… as I am currently running MySQL 5.6.48.0 (I think, though I really thought I was running 5.7).

Funny, I hadn’t noticed until now that Windows is simply not mentioned on the new v8 Compatibility Matrix :scream:

Although I’ve seen many people here in the Forums attempting that installation, and I guess at least some of them achieved success.

I don’t think there was any decision to drop Windows compatibility, but it is possible that it just isn’t tested enough yet and they decided they can’t vouch for it. They’re definitely not a Windows company, I can tell you that. I suppose if enough people out there install it and say it works, it might get back into the Matrix, but otherwise… not so sure.

I have now updated my MySQL to v8 (8.0.31 to be precise). I have put it on a different port to my existing MySQL.

(I am running the correct version of PHP now)

This is on Windows Server 2012 R2.

I have run the installer screen now, with the different port number, and I can see that tables have been created in the database. (I can also see that the tables were also created in the initial MySQL 5.6 database).

I am getting no error, just the pink bar at the top with an X to close it. I can’t progress any further.

Is there any way I can progress this? Is there an error log I can view? Is there something in the installer php I can fiddle with?

Thank you for the continued assistance.

EDIT : (the below text might be too much)

I have found the logs in public/legacy folder.

In install.log, I have as the last few lines…

2022-11-20 14:40:59…Begin creating Defaults
2022-11-20 14:40:59…insert defaults into config table
2022-11-20 14:40:59…
2022-11-20 14:40:59…
2022-11-20 14:40:59…Enable SugarFeeds
2022-11-20 14:40:59…Creating WorkFlow logic hook

then nothing more.

In suitecrm.log, I have…

Sun Nov 20 14:40:59 2022 [7436][1][SECURITY] OutboundEmail::checkSavePermissions - not logged in - skipping check
Sun Nov 20 14:40:59 2022 [7436][1][FATAL] User update error: Temp User is not retrieved at ID 1, boolean given
Sun Nov 20 14:40:59 2022 [7436][1][FATAL] Email address save error

If it is any further help… I have opened the browser tools. My console is showing…

node_modules_angular_core_fesm2015_core_js-es2015.e67882692b6d3d658f6b.js:1 ERROR Error: Http failure during parsing for https://myserver/index.php/api/graphql
at new t (node_modules_apollo-angular_fesm2015_ngApollo_js-_0ddc0-es2015.31fc3a06fac668918939.js:1:35812)
at Object.error (node_modules_apollo-angular_fesm2015_ngApollo_js-_0ddc0-es2015.31fc3a06fac668918939.js:1:57704)
at v (core_app_shell_src_bootstrap_ts-es2015.376068f61f1fb7ece8f1.js:1:165870)
at _ (core_app_shell_src_bootstrap_ts-es2015.376068f61f1fb7ece8f1.js:1:166366)
at t.error (core_app_shell_src_bootstrap_ts-es2015.376068f61f1fb7ece8f1.js:1:166919)
at Object.error (node_modules_apollo-angular_fesm2015_ngApollo_js-_0ddc0-es2015.31fc3a06fac668918939.js:1:33318)
at v (core_app_shell_src_bootstrap_ts-es2015.376068f61f1fb7ece8f1.js:1:165870)
at _ (core_app_shell_src_bootstrap_ts-es2015.376068f61f1fb7ece8f1.js:1:166366)
at t.error (core_app_shell_src_bootstrap_ts-es2015.376068f61f1fb7ece8f1.js:1:166919)
at node_modules_apollo-angular_fesm2015_ngApollo_js-_0ddc0-es2015.31fc3a06fac668918939.js:1:33695
ni @ node_modules_angular_core_fesm2015_core_js-es2015.e67882692b6d3d658f6b.js:1
handleError @ node_modules_angular_core_fesm2015_core_js-es2015.e67882692b6d3d658f6b.js:1
next @ node_modules_angular_core_fesm2015_core_js-es2015.e67882692b6d3d658f6b.js:1
__tryOrUnsub @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
emit @ node_modules_angular_core_fesm2015_core_js-es2015.e67882692b6d3d658f6b.js:1
(anonymous) @ node_modules_angular_core_fesm2015_core_js-es2015.e67882692b6d3d658f6b.js:1
invoke @ polyfills-es2015.94f9c56150490143c73a.js:1
run @ polyfills-es2015.94f9c56150490143c73a.js:1
runOutsideAngular @ node_modules_angular_core_fesm2015_core_js-es2015.e67882692b6d3d658f6b.js:1
onHandleError @ node_modules_angular_core_fesm2015_core_js-es2015.e67882692b6d3d658f6b.js:1
handleError @ polyfills-es2015.94f9c56150490143c73a.js:1
runTask @ polyfills-es2015.94f9c56150490143c73a.js:1
invokeTask @ polyfills-es2015.94f9c56150490143c73a.js:1
invoke @ polyfills-es2015.94f9c56150490143c73a.js:1
n.args. @ polyfills-es2015.94f9c56150490143c73a.js:1
setTimeout (async)
i @ polyfills-es2015.94f9c56150490143c73a.js:1
scheduleTask @ polyfills-es2015.94f9c56150490143c73a.js:1
onScheduleTask @ polyfills-es2015.94f9c56150490143c73a.js:1
scheduleTask @ polyfills-es2015.94f9c56150490143c73a.js:1
scheduleTask @ polyfills-es2015.94f9c56150490143c73a.js:1
scheduleMacroTask @ polyfills-es2015.94f9c56150490143c73a.js:1
d @ polyfills-es2015.94f9c56150490143c73a.js:1
(anonymous) @ polyfills-es2015.94f9c56150490143c73a.js:1
O.s. @ polyfills-es2015.94f9c56150490143c73a.js:1
n @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
error @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_error @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
error @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_error @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
error @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_error @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
error @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
error @ node_modules_rxjs__esm2015_operators_index_js-es2015.8f2820c8ba6a75453b5e.js:1
_error @ node_modules_rxjs__esm2015_operators_index_js-es2015.8f2820c8ba6a75453b5e.js:1
error @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_error @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
error @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_error @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
error @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
(anonymous) @ node_modules_apollo-angular_fesm2015_ngApollo_js-_0ddc0-es2015.31fc3a06fac668918939.js:1
invoke @ polyfills-es2015.94f9c56150490143c73a.js:1
onInvoke @ node_modules_angular_core_fesm2015_core_js-es2015.e67882692b6d3d658f6b.js:1
invoke @ polyfills-es2015.94f9c56150490143c73a.js:1
run @ polyfills-es2015.94f9c56150490143c73a.js:1
(anonymous) @ polyfills-es2015.94f9c56150490143c73a.js:1
invokeTask @ polyfills-es2015.94f9c56150490143c73a.js:1
onInvokeTask @ node_modules_angular_core_fesm2015_core_js-es2015.e67882692b6d3d658f6b.js:1
invokeTask @ polyfills-es2015.94f9c56150490143c73a.js:1
runTask @ polyfills-es2015.94f9c56150490143c73a.js:1
b @ polyfills-es2015.94f9c56150490143c73a.js:1
invokeTask @ polyfills-es2015.94f9c56150490143c73a.js:1
m @ polyfills-es2015.94f9c56150490143c73a.js:1
g @ polyfills-es2015.94f9c56150490143c73a.js:1
load (async)
D @ polyfills-es2015.94f9c56150490143c73a.js:1
scheduleTask @ polyfills-es2015.94f9c56150490143c73a.js:1
onScheduleTask @ polyfills-es2015.94f9c56150490143c73a.js:1
scheduleTask @ polyfills-es2015.94f9c56150490143c73a.js:1
scheduleTask @ polyfills-es2015.94f9c56150490143c73a.js:1
scheduleEventTask @ polyfills-es2015.94f9c56150490143c73a.js:1
(anonymous) @ polyfills-es2015.94f9c56150490143c73a.js:1
(anonymous) @ node_modules_angular_common_fesm2015_http_js-_93100-es2015.f17ceb5504f5e7e7e388.js:1
_trySubscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
subscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
call @ node_modules_rxjs__esm2015_operators_index_js-es2015.8f2820c8ba6a75453b5e.js:1
subscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
u @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_innerSub @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_tryNext @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
(anonymous) @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_trySubscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
subscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
call @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
subscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
call @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
subscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
(anonymous) @ core_app_shell_src_bootstrap_ts-es2015.376068f61f1fb7ece8f1.js:1
e @ core_app_shell_src_bootstrap_ts-es2015.376068f61f1fb7ece8f1.js:1
t.subscribe @ core_app_shell_src_bootstrap_ts-es2015.376068f61f1fb7ece8f1.js:1
(anonymous) @ node_modules_apollo_link-error_lib_bundle_esm_js-_3fab1-es2015.26ab9588e5e1375e5677.js:1
e @ core_app_shell_src_bootstrap_ts-es2015.376068f61f1fb7ece8f1.js:1
t.subscribe @ core_app_shell_src_bootstrap_ts-es2015.376068f61f1fb7ece8f1.js:1
(anonymous) @ core_app_shell_src_bootstrap_ts-es2015.376068f61f1fb7ece8f1.js:1
e @ core_app_shell_src_bootstrap_ts-es2015.376068f61f1fb7ece8f1.js:1
t.subscribe @ core_app_shell_src_bootstrap_ts-es2015.376068f61f1fb7ece8f1.js:1
complete @ node_modules_apollo-angular_fesm2015_ngApollo_js-_0ddc0-es2015.31fc3a06fac668918939.js:1
t.start @ node_modules_apollo-angular_fesm2015_ngApollo_js-_0ddc0-es2015.31fc3a06fac668918939.js:1
t @ node_modules_apollo-angular_fesm2015_ngApollo_js-_0ddc0-es2015.31fc3a06fac668918939.js:1
e.getObservableFromLink @ node_modules_apollo-angular_fesm2015_ngApollo_js-_0ddc0-es2015.31fc3a06fac668918939.js:1
(anonymous) @ node_modules_apollo-angular_fesm2015_ngApollo_js-_0ddc0-es2015.31fc3a06fac668918939.js:1
P @ polyfills-es2015.94f9c56150490143c73a.js:1
(anonymous) @ node_modules_apollo-angular_fesm2015_ngApollo_js-_0ddc0-es2015.31fc3a06fac668918939.js:1
(anonymous) @ dist_core___ivy_ngcc___fesm2015_core_js-_92d41-es2015.7cf4174c805794d824aa.js:1
(anonymous) @ dist_core___ivy_ngcc___fesm2015_core_js-_92d41-es2015.7cf4174c805794d824aa.js:1
(anonymous) @ dist_core___ivy_ngcc___fesm2015_core_js-_92d41-es2015.7cf4174c805794d824aa.js:1
P @ polyfills-es2015.94f9c56150490143c73a.js:1
l @ dist_core___ivy_ngcc___fesm2015_core_js-_92d41-es2015.7cf4174c805794d824aa.js:1
e.mutate @ node_modules_apollo-angular_fesm2015_ngApollo_js-_0ddc0-es2015.31fc3a06fac668918939.js:1
e.mutate @ node_modules_apollo-angular_fesm2015_ngApollo_js-_0ddc0-es2015.31fc3a06fac668918939.js:1
(anonymous) @ node_modules_apollo-angular_fesm2015_ngApollo_js-_0ddc0-es2015.31fc3a06fac668918939.js:1
(anonymous) @ node_modules_apollo-angular_fesm2015_ngApollo_js-_0ddc0-es2015.31fc3a06fac668918939.js:1
_trySubscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
subscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
call @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
subscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
call @ node_modules_rxjs__esm2015_operators_index_js-es2015.8f2820c8ba6a75453b5e.js:1
subscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
call @ node_modules_rxjs__esm2015_operators_index_js-es2015.8f2820c8ba6a75453b5e.js:1
subscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
call @ node_modules_rxjs__esm2015_operators_index_js-es2015.8f2820c8ba6a75453b5e.js:1
subscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
call @ node_modules_rxjs__esm2015_operators_index_js-es2015.8f2820c8ba6a75453b5e.js:1
subscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
runInstall @ dist_core___ivy_ngcc___fesm2015_core_js-_92d41-es2015.7cf4174c805794d824aa.js:58
(anonymous) @ dist_core___ivy_ngcc___fesm2015_core_js-_92d41-es2015.7cf4174c805794d824aa.js:58
__tryOrUnsub @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_next @ node_modules_rxjs__esm2015_operators_index_js-es2015.8f2820c8ba6a75453b5e.js:1
next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_next @ node_modules_rxjs__esm2015_operators_index_js-es2015.8f2820c8ba6a75453b5e.js:1
next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
notifyNext @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
(anonymous) @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
u @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_innerSub @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_tryNext @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
(anonymous) @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_trySubscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
subscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
call @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
subscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
call @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
subscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
call @ node_modules_rxjs__esm2015_operators_index_js-es2015.8f2820c8ba6a75453b5e.js:1
subscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
call @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
subscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
call @ node_modules_rxjs__esm2015_operators_index_js-es2015.8f2820c8ba6a75453b5e.js:1
subscribe @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
run @ dist_core___ivy_ngcc___fesm2015_core_js-_92d41-es2015.7cf4174c805794d824aa.js:58
run @ dist_core___ivy_ngcc___fesm2015_core_js-_92d41-es2015.7cf4174c805794d824aa.js:26
runFrontEndAction @ dist_core___ivy_ngcc___fesm2015_core_js-_92d41-es2015.7cf4174c805794d824aa.js:58
callAction @ dist_core___ivy_ngcc___fesm2015_core_js-_92d41-es2015.7cf4174c805794d824aa.js:58
runAction @ dist_core___ivy_ngcc___fesm2015_core_js-_92d41-es2015.7cf4174c805794d824aa.js:58
onClick @ dist_core___ivy_ngcc___fesm2015_core_js-_92d41-es2015.7cf4174c805794d824aa.js:26
(anonymous) @ dist_core___ivy_ngcc___fesm2015_core_js-_92d41-es2015.7cf4174c805794d824aa.js:26
__tryOrUnsub @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
debouncedNext @ node_modules_rxjs__esm2015_operators_index_js-es2015.8f2820c8ba6a75453b5e.js:1
it @ node_modules_rxjs__esm2015_operators_index_js-es2015.8f2820c8ba6a75453b5e.js:1
_execute @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
execute @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
flush @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
s. @ polyfills-es2015.94f9c56150490143c73a.js:1
invokeTask @ polyfills-es2015.94f9c56150490143c73a.js:1
onInvokeTask @ node_modules_angular_core_fesm2015_core_js-es2015.e67882692b6d3d658f6b.js:1
invokeTask @ polyfills-es2015.94f9c56150490143c73a.js:1
runTask @ polyfills-es2015.94f9c56150490143c73a.js:1
invokeTask @ polyfills-es2015.94f9c56150490143c73a.js:1
invoke @ polyfills-es2015.94f9c56150490143c73a.js:1
n.args. @ polyfills-es2015.94f9c56150490143c73a.js:1
setInterval (async)
i @ polyfills-es2015.94f9c56150490143c73a.js:1
scheduleTask @ polyfills-es2015.94f9c56150490143c73a.js:1
onScheduleTask @ polyfills-es2015.94f9c56150490143c73a.js:1
scheduleTask @ polyfills-es2015.94f9c56150490143c73a.js:1
scheduleTask @ polyfills-es2015.94f9c56150490143c73a.js:1
scheduleMacroTask @ polyfills-es2015.94f9c56150490143c73a.js:1
d @ polyfills-es2015.94f9c56150490143c73a.js:1
(anonymous) @ polyfills-es2015.94f9c56150490143c73a.js:1
O.s. @ polyfills-es2015.94f9c56150490143c73a.js:1
requestAsyncId @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
schedule @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
schedule @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
schedule @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
_next @ node_modules_rxjs__esm2015_operators_index_js-es2015.8f2820c8ba6a75453b5e.js:1
next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
next @ node_modules_rxjs__esm2015_index_js-es2015.2c53b8d6ac11b189b6fc.js:1
runClick @ dist_core___ivy_ngcc___fesm2015_core_js-_92d41-es2015.7cf4174c805794d824aa.js:26
(anonymous) @ dist_core___ivy_ngcc___fesm2015_core_js-_92d41-es2015.7cf4174c805794d824aa.js:26
Bc @ node_modules_angular_core_fesm2015_core_js-es2015.e67882692b6d3d658f6b.js:1
i @ node_modules_angular_core_fesm2015_core_js-es2015.e67882692b6d3d658f6b.js:1
(anonymous) @ dist_core___ivy_ngcc___fesm2015_core_js-_92d41-es2015.7cf4174c805794d824aa.js:58
invokeTask @ polyfills-es2015.94f9c56150490143c73a.js:1
onInvokeTask @ node_modules_angular_core_fesm2015_core_js-es2015.e67882692b6d3d658f6b.js:1
invokeTask @ polyfills-es2015.94f9c56150490143c73a.js:1
runTask @ polyfills-es2015.94f9c56150490143c73a.js:1
invokeTask @ polyfills-es2015.94f9c56150490143c73a.js:1
m @ polyfills-es2015.94f9c56150490143c73a.js:1
g @ polyfills-es2015.94f9c56150490143c73a.js:1

I would focus on this one, to start, if that log message is happening at the moment of your most recent installation attempt.

It seems to be coming from here:
SuiteCRM/User.php at e93b269f637de313f45b32c58cef5ec012a34f58 · salesagility/SuiteCRM · GitHub

This can happen if the user is not an admin. Normally user ID 1 corresponds to the admin user. Is there anything peculiar about your users?

It can also happen with smtp configuration errors, check any config values that may seem to affect this function:

SuiteCRM/Administration.php at cea3e00eb4990d143c91935013058488c0964ee6 · salesagility/SuiteCRM · GitHub

Hi pgr,

Thank you for continuing to work with me on this.

EDIT 2:

Found it…

Using logging, I have narrowed down the fault to this line (above). Basically…

require DIR . ‘/…/…/config.php’;

There appears to be no config.php in the desired location (pretty sure it means… public/legacy/config.php)

So, what should be in config.php?

Should it be config_si.php that is shown below?

END EDIT 2:

EDIT:

Discovered it is not the Save function. I had put in some logging around line 622 of my copy of the User.php file. I accidentally broke it, which stopped the processing. When I looked at the install.log, it was missing the end bits… notably…

2022-11-20 14:40:59…
2022-11-20 14:40:59…Enable SugarFeeds
2022-11-20 14:40:59…Creating WorkFlow logic hook

(the last 3 lines), which suggests that the User.php Save actually continues and the process then continues with the three dots, enable sugarfeeds and creating workflow.

I have attempted to search github for “Creating WorkFlow” but cannot find that, so a bit stuck again.

I have seen in the database that the admin user exists.

END EDIT:

I am signed into the webserver as admin, so I don’t think it will be that. I have not got to a position to sign into the CRM yet, which means I have not had the ability to create users, so I can’t believe it is that.

I have had a look at both links. Now, I am a .NET (C#) developer, and am trying to understand the PHP side. From what I can see, the first link is what produces the error, but prior to the error, it calls the checkSMTPError that is in the second link.

As I am trying to read this, it appears that it is looking in the config for mail_smtpserver.

During the install process, I do not recall that the install page asked me for any SMTP settings, so it looks like it is asking for something that has not been asked for as yet.

I don’t even know where I can hack it to add the server settings… or even what other settings would be required (for example, my SMTP server requires a password).

In my public/legacy folder, which is where I found the install.log and suitecrm.log, are two other files that are generated / changed during the process. config.si.php and web.config.

The web.config just appears to have rules for redirects. The config_si.php is below… (editted to remove sensitive details)

<?php
$sugar_config_si = array (
  'dbUSRData' => 'same',
  'default_currency_iso4217' => 'USD',
  'default_currency_name' => 'US Dollar',
  'default_currency_significant_digits' => '2',
  'default_currency_symbol' => '$',
  'default_date_format' => 'Y-m-d',
  'default_decimal_seperator' => '.',
  'default_export_charset' => 'ISO-8859-1',
  'default_language' => 'en_us',
  'default_locale_name_format' => 's f l',
  'default_number_grouping_seperator' => ',',
  'default_time_format' => 'H:i',
  'export_delimiter' => ',',
  'setup_db_admin_password' => 'the password',
  'setup_db_admin_user_name' => 'the user',
  'setup_db_port_num' => '3307',
  'setup_db_create_database' => 1,
  'setup_db_database_name' => 'SuiteCRM',
  'setup_db_drop_tables' => 0,
  'setup_db_host_name' => 'localhost',
  'demoData' => 'no',
  'setup_db_type' => 'mysql',
  'setup_db_username_is_privileged' => true,
  'setup_site_admin_password' => 'the admin password',
  'setup_site_admin_user_name' => 'the admin user',
  'setup_site_url' => 'the web address',
  'setup_system_name' => 'SuiteCRM',
);

Note, that the file doesn’t appear to have the closing tag to the php opening tag. not sure why.

Also, I have not set up the currency type, nor the language nor the date format…

The missing PHP ending tags are normal.

Your installation seems very broken. If these things about SMTP configuration and admin users didn’t ring any bells for you, it wasn’t something you messed with, then I agree with you that the real problem is not likely to be there. I suspect you have some left-over problems from the previous failed installation attempts.

My recommendation would be to clean up completely and start over, with all the correct pieces of the stack in place, and hope everything goes well this time. If you can move to Linux, you’ll probably have a much better experience with SuiteCRM, especially if it’s SuiteCRM v8, in these early versions.

Ubuntu in WSL works well for SuiteCRM under Windows. Or, of course, in a full-blown VM.

My install was to a folder on a Windows server. I followed the install instructions. It was basically a copy out of the zip file, set folder permissions, then run the install. (It is SuiteCRM v8 that I downloaded)

I don’t know how to “start over”, as when I attempt to just go to the web address to start over, it brings me back to the database config page.

I am running on a hosted server (i.e. it is my server at a hosting company). Trying to use a VM on here will not really work for me.

What should be in the config.php file?

Should I also have a config_si.php?

(I have noted that there is a lot of code that will generate PHP files, pretty much on the fly)

Start over means delete the SuiteCRM database, delete all the folders and files, and restart unzipping, setting permissions and running the installer.

Thank you.

Got there eventually. Such a convoluted process. However, it still was not plain sailing and had to check other things.

In my case… I had to…

  1. Create my folder and hook IIS up to it.
  2. Extract all files from the zip into the folder.
  3. Ensure I had the correct version of PHP and MySQL
  4. Change permissions from my folder (in point 1). Permissions are: IUSR - full control and Users - full control.
  5. Run the install. This eventually worked. (It failed first time, due to a timeout)
  6. Login page. Try and login. Nope… didn’t work. Changed my password using SQL. Still didn’t work.
  7. Checked the prod.log in Logs/Prod, found that no permissions to write to \Windows\Temp. Changed permissions for IUSR and Users to Read and Write for the \Windows\Temp directory.
  8. Try to login. Yay!!!

Posting the above for anyone else having the issues that I was having.

EDIT:

I have left it moment, logged in, and have an error… any ideas?

1 Like

I think I have fixed the error…

Under the Administrator drop down is “Admin”.

Under here is Repair.

Under Repair, is Quick Repair and Rebuild. Clicking this, and running the repair appears to have sorted it.