Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

InvalidArgumentException 'Database name can not be empty.' beim Artikel bearbeiten #204

Open
omphteliba opened this issue Feb 15, 2021 · 17 comments
Assignees
Labels

Comments

@omphteliba
Copy link

Redaxo: 5.11.2
PHP: 8.0.2

Ich bekomme eine InvalidArgumentException 'Database name can not be empty.' wenn ich versuche einen Artikel zu bearbeiten. Wenn ich das "URL" Addon deaktiviere verschwindet der Fehler.

@tbaddade
Copy link
Owner

Könntest du bitte den Stack senden?

@omphteliba
Copy link
Author

Hallo Thomas, ich hatte schon redaxo_url 1.0.1 deinstalliert und die Beta v2 installiert. Nachdem ich die Beta deinstalliert und die v1.0.1 reinstalliert habe, ist das Problem weg.

@tbaddade
Copy link
Owner

Wäre gut, wenn du noch die genaue Fehlermeldung senden könntest.

@omphteliba omphteliba reopened this Feb 18, 2021
@omphteliba
Copy link
Author

omphteliba commented Feb 18, 2021

Ok, es ist wieder aufgetreten, jetzt bei einem System mit Redaxo 5.11.2 und PHP 7.4.15. Jetzt habe ich auch die Whoops Seite vor mir:

InvalidArgumentException: Database name can not be empty.
File: redaxo/src/core/lib/sql/sql.php
Line: 155

Stacktrace
Function File Line
rex_sql::createConnection redaxo/src/core/lib/sql/sql.php 126
rex_sql->selectDB redaxo/src/core/lib/sql/sql.php 98
rex_sql->__construct redaxo/src/core/lib/sql/sql.php 1776
rex_sql::factory redaxo/src/addons/url/lib/Url/Generator.php 247
Url\Generator::generatePathFile redaxo/src/addons/url/lib/Url/Generator.php 668
Url\Generator::readPathFile redaxo/src/addons/url/lib/Url/Generator.php 661
Url\Generator::ensurePaths redaxo/src/addons/url/lib/Url/Generator.php 597
Url\Generator::getArticleIdByUrlParamKey redaxo/src/addons/url/lib/Url/Generator.php 636
Url\Generator::rewrite redaxo/src/addons/url/boot.php 53
rex_package->{closure} redaxo/src/core/lib/extension.php 49
rex_extension::{closure} redaxo/src/core/lib/util/timer.php 54
rex_timer::measure redaxo/src/core/lib/extension.php 56
rex_extension::registerPoint redaxo/src/addons/structure/functions/function_rex_url.php 39
rex_getUrl redaxo/src/addons/structure/plugins/version/boot.php 166
rex_package::{closure} redaxo/src/core/lib/extension.php 49
rex_extension::{closure} redaxo/src/core/lib/util/timer.php 54
rex_timer::measure redaxo/src/core/lib/extension.php 56
rex_extension::registerPoint redaxo/src/addons/structure/plugins/content/pages/content.php 428
include redaxo/src/core/lib/packages/package.php 250
rex_package->includeFile redaxo/src/core/lib/be/controller.php 476
rex_be_controller::{closure} redaxo/src/core/lib/util/timer.php 54
rex_timer::measure redaxo/src/core/lib/be/controller.php 477
rex_be_controller::includePath redaxo/src/core/lib/be/controller.php 415
rex_be_controller::includeCurrentPage redaxo/src/core/backend.php 235
require redaxo/src/core/boot.php 137
require redaxo/index.php 9
System report (REDAXO 5.11.2, PHP 7.4.15, MySQL 5.7.33)
REDAXO
Version 5.11.2
PHP
Version 7.4.15
OPcache yes
Xdebug no
Warning Das Setup wird ohne HTTPS/Verschlüsselung durchgeführt. Es wird empfohlen jegliche Frontend und Backend aufrufe nur mittels HTTPS durchzuführen, um die Privatsphäre und den Datenschutz zu gewährleisten.
Database
Version MySQL 5.7.33
Character set utf8
Server
OS Linux
SAPI fpm-fcgi
Webserver Apache/2.4.46
Request
Browser Chrome/88.0.4324.182
Protocol HTTP/1.1
HTTPS no
Packages
adminer 1.8.3
backup 2.6.3
be_password 2.0.0
be_style 2.11.1
be_style/customizer 2.11.0
be_style/redaxo 2.11.1
bloecks 3.0.0
bloecks/cutncopy 3.0.0
bloecks/dragndrop 3.0.0
bloecks/status 3.0.0
cronjob 2.7.1
cronjob/article_status 2.7.1
cronjob/optimize_tables 2.7.1
developer 3.9.0
feeds 3.1
global_settings 2.5.1
hyphenator 1.1.7
iconpicker 1.1.0
install 2.8.1
maintenance 2.5.1
markitup 3.6.0
mblock 3.1.0
media_manager 2.10.1
media_manager_autorewrite 2.0.0
mediapool 2.9.1
metainfo 2.7.3
mf_lastchanges 0.9
mform 5.3.1
mform/docs 1.0
minify 2.2
modulsammlung 4.15.2
modulsammlung/documentation 1.0
multiupload 2.1.3
multiupload/imageoptimizer 1.0.1
multiupload/upload_precompressor 1.0
navigation_factory 2.0.3
omi_citrix 1.0.0
omi_pardot 1.0.1
omi_sync 1.0
phpmailer 2.9.1
project dev
redactor2 4.1.0
structure 2.11.2
structure/content 2.11.2
structure/history 2.11.0
structure/version 2.11.0
template 1.1.0
theme 1.2.0
ui_tools 1.0.0
ui_tools/bootstrap-datetimepicker 4.17.47
ui_tools/custom_widgets 1.0.0
ui_tools/jquery-minicolors 2.2.7
ui_tools/selectize 0.2.0
url 1.0.1
users 2.7.1
watson 2.2.0
xcore 1.1.4
xoutputfilter 3.0.0-beta1
xoutputfilter/abbrev 3.0.0
xoutputfilter/backend 3.0.0
xoutputfilter/documentation 1.0.0
xoutputfilter/frontend 3.0.0
xoutputfilter/import_export 3.0.0
xoutputfilter/languages 3.0.0
yform 3.4.1
yform/docs 3.3.1
yform/email 3.4.1
yform/manager 3.4.1
yform/tools 3.4.1
yform_usability 1.4
yrewrite 2.7
yrewrite/lowercase-url 1.0

@omphteliba
Copy link
Author

Und hier habe ich auch noch den Systembericht:

System report (REDAXO 5.11.2, PHP 7.4.15, MySQL 5.7.33)
REDAXO
Version 5.11.2
PHP
Version 7.4.15
OPcache yes
Xdebug no
Warning Das Setup wird ohne HTTPS/Verschlüsselung durchgeführt. Es wird empfohlen jegliche Frontend und Backend aufrufe nur mittels HTTPS durchzuführen, um die Privatsphäre und den Datenschutz zu gewährleisten.
Database
Version MySQL 5.7.33
Character set utf8
Server
OS Linux
SAPI fpm-fcgi
Webserver Apache/2.4.46
Request
Browser Chrome/88.0.4324.182
Protocol HTTP/1.1
HTTPS no
Packages
adminer 1.8.3
backup 2.6.3
be_password 2.0.0
be_style 2.11.1
be_style/customizer 2.11.0
be_style/redaxo 2.11.1
bloecks 3.0.0
bloecks/cutncopy 3.0.0
bloecks/dragndrop 3.0.0
bloecks/status 3.0.0
cronjob 2.7.1
cronjob/article_status 2.7.1
cronjob/optimize_tables 2.7.1
developer 3.9.0
feeds 3.1
global_settings 2.5.1
hyphenator 1.1.7
iconpicker 1.1.0
install 2.8.1
maintenance 2.5.1
markitup 3.6.0
mblock 3.1.0
media_manager 2.10.1
media_manager_autorewrite 2.0.0
mediapool 2.9.1
metainfo 2.7.3
mf_lastchanges 0.9
mform 5.3.1
mform/docs 1.0
minify 2.2
modulsammlung 4.15.2
modulsammlung/documentation 1.0
multiupload 2.1.3
multiupload/imageoptimizer 1.0.1
multiupload/upload_precompressor 1.0
navigation_factory 2.0.3
omi_citrix 1.0.0
omi_pardot 1.0.1
omi_sync 1.0
phpmailer 2.9.1
project dev
redactor2 4.1.0
structure 2.11.2
structure/content 2.11.2
structure/history 2.11.0
structure/version 2.11.0
template 1.1.0
theme 1.2.0
ui_tools 1.0.0
ui_tools/bootstrap-datetimepicker 4.17.47
ui_tools/custom_widgets 1.0.0
ui_tools/jquery-minicolors 2.2.7
ui_tools/selectize 0.2.0
url 1.0.1
users 2.7.1
watson 2.2.0
xcore 1.1.4
xoutputfilter 3.0.0-beta1
xoutputfilter/abbrev 3.0.0
xoutputfilter/backend 3.0.0
xoutputfilter/documentation 1.0.0
xoutputfilter/frontend 3.0.0
xoutputfilter/import_export 3.0.0
xoutputfilter/languages 3.0.0
yform 3.4.1
yform/docs 3.3.1
yform/email 3.4.1
yform/manager 3.4.1
yform/tools 3.4.1
yform_usability 1.4
yrewrite 2.7
yrewrite/lowercase-url 1.0

@tbaddade
Copy link
Owner

Greifst du auf eine zweite Datenbank zu?
Könntest du unabhängig davon einmal hier $table dumpen und das Ergebnis hier posten?

@omphteliba
Copy link
Author

Ich habe zwei Datenbanken verwendet, bin aber grade dabei das rückgängig zu machen.

Hier der Dump von rex_url_generate

`INSERT INTO `rex_url_generate` (`id`, `article_id`, `clang_id`, `url`, `table`, `table_parameters`, `relation_table`, `relation_table_parameters`, `relation_insert`, `createdate`, `createuser`, `updatedate`, `updateuser`) VALUES
(1,	109,	1,	'',	'1_xxx_rex_jobs',	'{\"1_xxx_rex_jobs_field_1\":\"id\",\"1_xxx_rex_jobs_field_2\":\"titel\",\"1_xxx_rex_jobs_field_3\":\"\",\"1_xxx_rex_jobs_id\":\"id\",\"1_xxx_rex_jobs_clang_id\":\"\",\"1_xxx_rex_jobs_restriction_field\":\"\",\"1_xxx_rex_jobs_restriction_operator\":\"=\",\"1_xxx_rex_jobs_restriction_value\":\"\",\"1_xxx_rex_jobs_url_param_key\":\"\",\"1_xxx_rex_jobs_seo_title\":\"titel\",\"1_xxx_rex_jobs_seo_description\":\"description\",\"1_xxx_rex_jobs_seo_image\":\"\",\"1_xxx_rex_jobs_sitemap_add\":\"0\",\"1_xxx_rex_jobs_sitemap_frequency\":\"always\",\"1_xxx_rex_jobs_sitemap_priority\":\"1.0\",\"1_xxx_rex_jobs_sitemap_lastmod\":\"\",\"1_xxx_rex_jobs_path_names\":\"\",\"1_xxx_rex_jobs_path_categories\":\"0\",\"1_xxx_rex_jobs_relation_field\":\"\"}',	'',	'[]',	'before',	2017,	'omikron',	2021,	'oh');`

@tbaddade
Copy link
Owner

Ich habe zwei Datenbanken verwendet, bin aber grade dabei das rückgängig zu machen.

Dann mach das erst einmal. Es sieht für mich danach aus, dass du eine DB ausgewählt hast, wo die zugehörigen Daten unvollständig sind.

@omphteliba
Copy link
Author

omphteliba commented Feb 18, 2021

Dann mach das erst einmal.

Ist auf dem System schon vollzogen.

Es sieht für mich danach aus, dass du eine DB ausgewählt hast, wo die zugehörigen Daten unvollständig sind.

Was meinst Du damit? Daten in der Tabelle oder Tabellen-Struktur?

Ich habe redaxo_url gelöscht und neu installiert. Damit ist der obige Fehler verschwunden, aber ich kann jetzt keine neuen Einträge in "Urls generieren" anlegen.

@omphteliba
Copy link
Author

Ich habe im Redaxo Log noch was entdeckt, was auftritt bevor ich den Whoops im Frontend sehe:

image

Stammt dieser "offset 2" von der zweiten Datenbank und ist irgendwo gecacht, weil mal die zweite Datenbank benutzt wurde?

@omphteliba
Copy link
Author

Ich habe einen Workaround gefunden: ich habe in der Redaxo config den einzigen Datenbank Eintrag unter der Nummer 2 nochmal eingefügt. Dann geht auch die Weiterleitung und das Whoops ist verschwunden.

@tbaddade
Copy link
Owner

Ich denke das ist hier recht speziell und würde erst einmal schließen. Falls weiterhin Probleme da sind, gerne wieder öffnen.

@ynamite
Copy link
Contributor

ynamite commented Apr 1, 2023

@tbaddade ich habe das Problem nun auch, genau gleicher Fehler.
Allerdings ist das eine frische Installation, ohne zweite Datenbank ...

Hoffentlich hilft dir das:

InvalidArgumentException: Database name can not be empty.
File: redaxo/src/core/lib/sql/sql.php
Line: 180

Stacktrace
Function File Line
rex_sql::createConnection redaxo/src/core/lib/sql/sql.php 127
rex_sql->selectDB redaxo/src/core/lib/sql/sql.php 156
rex_sql->getConnection redaxo/src/core/lib/sql/sql.php 1229
rex_sql->getArray redaxo/src/core/lib/sql/sql.php 1779
rex_sql->fetchTablesAndViews redaxo/src/core/lib/sql/sql.php 1721
rex_sql->getTablesAndViews redaxo/src/addons/url/lib/Url/Database.php 47
Url\Database::getSupportedTables redaxo/src/addons/url/pages/generator.profiles.php 382
require redaxo/src/core/lib/packages/package.php 233
rex_package->includeFile redaxo/src/core/lib/be/controller.php 503
rex_be_controller::{closure} redaxo/src/core/lib/util/timer.php 62
rex_timer::measure redaxo/src/core/lib/be/controller.php 485
rex_be_controller::includePath redaxo/src/core/lib/be/controller.php 453
rex_be_controller::includeCurrentPageSubPath redaxo/src/addons/url/pages/index.php 17
require redaxo/src/core/lib/packages/package.php 233
rex_package->includeFile redaxo/src/core/lib/be/controller.php 503
rex_be_controller::{closure} redaxo/src/core/lib/util/timer.php 62
rex_timer::measure redaxo/src/core/lib/be/controller.php 485
rex_be_controller::includePath redaxo/src/core/lib/be/controller.php 436
rex_be_controller::includeCurrentPage redaxo/src/core/backend.php 241
require redaxo/src/core/boot.php 155
require redaxo/index.php 10
System report (REDAXO 5.15.1, PHP 8.2.4, MariaDB 10.3.38)
REDAXO
Version 5.15.1
PHP
Version 8.2.4
OPcache yes
Xdebug no
Database
Version MariaDB 10.3.38
Character set utf8
Server
OS Linux
SAPI cgi-fcgi
Webserver Apache
Request
Browser Firefox/111.0
Protocol HTTP/1.0
HTTPS yes
Packages
adminer 1.9.3
article_presets 1.2.0
backup 2.9.0
be_password 2.0.1
be_style 3.2.0
be_style/customizer 3.2.0
be_style/redaxo 3.2.0
be_tools 1.7.8
bloecks 3.1.1
bloecks/cutncopy 3.1.1
bloecks/dragndrop 3.1.1
bloecks/status 3.1.1
bs5_iconpicker 1.0.5
clear_content 1.1.1
consent_manager 4.0.3
cropper 1.4.0
developer 3.9.2
focuspoint 4.0.4
hyphenator 1.3.0
install 2.11.1
massif 1.0.0
massif_minify 1.3.3
massif_settings 1.0.0
mblock 3.4.12
media_manager 2.14.0
media_manager_responsive 1.1.4
media_negotiator 2.0.0
mediapool 2.13.0
metainfo 2.10.0
mform 7.2.8
phpmailer 2.12.0
plyr 3.20.5
project dev
speed_up 1.3.1
sprog 1.5.1
statistics 2.6.0
statistics/media 2.6.0
structure 2.15.0
structure/content 2.15.0
structure/history 2.15.0
structure_tweaks 1.4.0
theme 1.3.3
theme_lock 1.0.0
tinymce5 1.2.17
ui_tools 1.2.2
ui_tools/bootstrap-datetimepicker 4.17.47
ui_tools/jquery-minicolors 2.4.0
ui_tools/selectize 0.2.0
uploader 2.4.1
url 2.1.0
useragent 2.3.0
users 2.10.0
yform 4.1.0
yform/email 4.1.0
yform/manager 4.1.0
yform/tools 4.1.0
yform_adminer 1.2.0
yform_geo_osm 1.2.8
yform_quick_edit 1.0.1
yform_spam_protection 2.0-beta4
yform_usability 2.0.9
yrewrite 2.10.0

@ynamite
Copy link
Contributor

ynamite commented Apr 1, 2023

Wenn ich wie von @omphteliba vorgeschlagen bei der zweiten DB dieselbe DB-Credentials wie bei der ersten eintrage, klappt's. Aber wie geschrieben, es war gar nie eine zweite im Einsatz ... hm.

@alxndr-w
Copy link

alxndr-w commented Apr 1, 2023

Wurde eine leere 2. Datenbank in der config.yml definiert? So wie hier:

https://github.com/redaxo/redaxo/blob/b88ed5891e159773b8324e33f9602e1ad19d850e/redaxo/src/core/default.config.yml#L92-L100

Und wenn man die leere Verbindung löscht, ist dann das Problem gelöst?

@ynamite
Copy link
Contributor

ynamite commented Apr 1, 2023

Muss ich testen. Aber ist in der config.yml nicht per default eine zweite, leere Verbindung vorgegeben?

@ynamite
Copy link
Contributor

ynamite commented Apr 3, 2023

@alxndr-w nope, geht nicht wenn die zweite Verbindung fehlt.

@tbaddade tbaddade reopened this Apr 3, 2023
@tbaddade tbaddade added the Bug label Apr 3, 2023
@tbaddade tbaddade self-assigned this Apr 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants