tkrebs / ep3-bs

Online booking system for courts
http://bs.hbsys.de/
MIT License
183 stars 108 forks source link

ZendFrameWork #536

Open Bakati opened 2 years ago

Bakati commented 2 years ago

Hi an Alle. Wir haben von 32 Bit auf 64 Bit Hosting gewechselt und haben folgendes Problem: Save_path von ZendFrame Work kann nicht mehr in ein eigenes Verzeichniss erstellt werden sondern es sollte auf das system Verzeichniss zeigen. Wo kann ich das ändern??

Bitte um Hilfe. Danke Anbei die Fehlermeldung

Fatal error: Uncaught Zend\Session\Exception\InvalidArgumentException: 'session.save_path' is not a valid sessions-related ini setting. in /kunden/------/webseiten/-------/vendor/zendframework/zend-session/src/Config/SessionConfig.php:155 Stack trace: #0 /kunden/-----/webseiten/-------/vendor/zendframework/zend-session/src/Config/StandardConfig.php(236): Zend\Session\Config\SessionConfig->setStorageOption('savepath', '/kunden/-------...') #1 /kunden/-------/webseiten/--------/vendor/zendframework/zend-session/src/Config/SessionConfig.php(233): Zend\Session\Config\StandardConfig->setSavePath('/kunden/------...') #2 /kunden/--------/webseiten/--------/vendor/zendframework/zend-session/src/Config/StandardConfig.php(114): Zend\Session\Config\SessionConfig->setSavePath('/kunden/--------...') #3 /kunden/--------/webseiten/---------/vendor/zendframework/zend-session/src/Service/SessionConfigFactory.php(67): Zend\Session\Config\StandardConfig->setOptions(Array) #4 /kunden/-------in /kunden/----------/webseiten/----------/vendor/zendframework/zend-servicemanager/src/ServiceManager.php on line 941

cbits68 commented 2 years ago

Der session.save_path kann in der php.ini geändert werden. Leg doch in Deinem Root Web-Verzeichnis mal eine Datei info.php mit folgendem Inhalt an: image

und rufe diese dann über den Webbroser auf. unter der Rubrik session findest Du den aktuellen Wert für session.save_path.

Bei mir ist das standardmäßig /var/tmp

Bakati commented 2 years ago

Super vielen Dank, vor allem für die rasche Antwort. Noch eine kurze Frage: Ich möchte demnächst auf die neue Version umstellen aber möchte die Änderungen die ich in diverse PHPs (sind sehr viele ) gemacht habe behalten. Kannst Du mir eventuell verraten wie soll ich vorgehen?

Danke im Voraus

cbits68 commented 2 years ago

Da Du vermutlich das fertige Paket (ZIP) zur Installation nutzt, sind Deine Anpassungen beim Update dann weg. Besser ist es da natürlich zukünftig die Installation über das GitHub Repository durchzuführen, damit Du dann beim nächsten Update nicht wieder vor dem Selben Problem stehst.

Solange Du aber nicht mit dem GitHub Repository arbeitest , solltest Du Dir das aktuelle Verzeichnis vor dem Update sichern und dann die Dateien mit einem geeigneten "diff" Tool vergleichen (alt/neu) un ggf. mergen. Da gibt es viele verschiedene Tools (Google hilft) und auch mit Notepad++ geht das. Damit kann man 2 Dateien vergleichen und ggf. gemachte Anpassungen dann auch recht einfach in die neuen php Dateien wieder übernehmen. Bei vielen Änderungen ist das natürlich auch viel Arbeit.

Wenn ich ein Update über das GitHub Repository von der master branch mache, bleiben meine lokal gemachten Änderungen erhalten, die ich in meiner lokalen branch commited habe. Das ist dann natürlich deutlich weniger Arbeit bei Updates aber natürlich etwas komplexer bei der Installation gegenüber der ZIP Variante.

Bakati commented 2 years ago

Ok Vielen Dank, wie immer perfekte Hilfe.

mjmpeace commented 2 years ago

Mit neu aufgesetztem System kommt genau das selbe wie oben: Fatal error: Uncaught Zend\Session\Exception\InvalidArgumentException: 'session.save_path' is not a valid sessions-related ini setting. Der Pfad in PHP ist total schräg. Ich habe das ausgelesen wie oben beschrieben. Das kann ich doch aber gar nicht selbst ändern, was da steht, oder?

mjmpeace commented 2 years ago

Ich habe endlich einen guten Supporter gefunden beim Provider. Das Problem ist, dass der voreingestellte save.session.path keine Leserechte hat. Nur Schreibrechte. Dadurch kommt das Buchungssystem offenbar damit nicht klar. Ich soll in der User.ini einen eigenen Pfad definieren. Kann dazu jemand sagen, wie ihr das gelöst habt? @Bakati @cbits68

mjmpeace commented 2 years ago

Mein Provider schrieb mir gerade, dass in dem neuen Tarif der save.session.path fest eingestellt wird und ich ihn NICHT ändern kann. Ich habe mich massiv beschwert (Domain Factory) und bin gespannt, was jetzt passiert. Schon mal eine Frage in die Runde nach einem alternativen Provider, wo solche Probleme nicht auftauchen?

cbits68 commented 2 years ago

Ich bin immer noch bei Strato, jetzt seit über 20 Jahren ... gibt aber sicher auch andere gute Provider.

Bakati commented 2 years ago

Also ich bin bei Domain Factory und habe das Problem folgede Weise gelöst. Im Hauptverzeichniss config/autoload/global.php die Zeile 'save_path' => getcwd() . '/data/session/', einfach auskommentiert. Es funktioniert perfekt. Viel Glück noch

mjmpeace commented 2 years ago

Wow, vielen Dank - werde ich gleich mal testen  Das wäre super. Ich melde mich, wenn es geklappt hat oder auch wenn nicht.Danke erstmal 

mjmpeace commented 2 years ago

So Problem gelöst. In der Datei global.php im Verzeichnis Config/autoload den Pfad zum Speichern rausnehmen. In der Datei module-config-cache.ep3-bs.php im Verzeichnis Data/cache ebenfalls und schon laufen die Systeme wieder. Vielen Dank für die Hilfe von Bakati.

mjmpeace commented 2 years ago

Ich habe beim Buchen ein Problem. Mitarbeiter können buchen.  Normale aktive Benutzer bekommen den Fehler: Oops ... da ist wohl etwas schief gelaufen An exception was raised while creating "Booking\Service\BookingService"; no instance returned Es sieht auch bei der Registrierung so aus, dass es zwar registriert wird, aber eine Fehlermeldung kommt. @tkrebs @Bakati ich bitte dringend um Hilfe. Der Admin und Mitarbeiter kann arbeiten. Wo liegt jetzt der Fehler?

Bakati commented 2 years ago

Lieben Gerne :)

mjmpeace commented 2 years ago

@ Bakati: Bitte um Hilfe. Ich komme nicht weiter. Die Mailfunktion geht nicht. Damit scheint es zusammen zu hängen beim Outdoor System. Beim Hallensystem geht die Buchung nicht mal. Welche Änderungen musstest du machen, damit es läuft. Direkter Kontakt wäre super: friede@m-peace.de

Bakati commented 2 years ago

Hi. Wie schaut dein local.php im config aus? Es sollte so aussehen:

'mail' => array(

'type' => 'smtp', // or 'smtp' or 'smtp-tls'

'address' => 'xxxx@xxx.com',

'host' => 'smtp.xxxx..com', // for 'smtp' type only, otherwise remove or leave as is

'user' => 'xx@xxxx.com', // for 'smtp' type only, otherwise remove or leave as is

'pw' => 'xxxxxx', // for 'smtp' type only, otherwise remove or leave as is

'port' => 'auto', // for 'smtp' type only, otherwise remove or leave as is

'auth' => 'plain', // for 'smtp' type only, change this to 'login' if you have problems with SMTP authentication
mjmpeace commented 2 years ago

Das steht da bei mir genau so drin und hat ja bis zum Umzug funktioniert - nur - das Zendframework hat andere Einstellungen und nimmt diese Einstellungen nicht. Das weiß ich deshalb, weil es zu Sendeproblemen an bestimmte Adressen aus dem Microsoft-Umfeld (Hotmail, Outlook.de, Outlook.com) kam. Die Server akzeptierten die TLS Connection irgendwann nicht mehr, weil der alte Webserver das aktuelle TLS nicht kann. Und den eingestellten Server hat das Framework nicht genommen. Geht bei dir denn das Buchen und Registrieren nach dem Umzug?

Bakati commented 2 years ago

Ja bei mir geht alles ohne Probleme, daher habe ich gar keine Änderung gemacht.

Bakati commented 2 years ago

Ich muss dazu sagen dass ich nach wie vor mit Version 1.6.3. und PHP 7.3 arbeite

mjmpeace commented 2 years ago

Die Halle läuft bei mir auch mit 1.6.3 - und sogar PHP 7.2 - welchen Tarif hast du und hast du die Script-Änderungen beim Wechsel mit machen lassen?

Bakati commented 2 years ago

ich habe Managed Hosting 64 Professional und habe die Scrip-Änderungen von DF mitmachen lassen.

mjmpeace commented 2 years ago

Wir haben medium und auch ich habe die mitmachen lassen. Da war bei mir wohl ein Supporter dran, der nicht fertig geworden ist, oder? ;-) Ich weiß nicht mehr weiter. Die Buchungen klappen nicht als normaler Benutzer und Mail geht auch nicht offenbar. (1.6.3) Bei dem Outdoorsystem geht zwar Buchen und Registrieren, aber die Mails gehen nicht. Outdoor ist aber ja noch in der Winterpause. Da habe ich noch Zeit. Nur die Halle brennt mir unter den Nägeln.

mjmpeace commented 2 years ago

@Bakati Nenn mir mal bitte deine Domain. Der Support will schauen wo die Differenz liegt. Danke

mjmpeace commented 2 years ago

@Bakati Bitte melde dich einmal bei mir, ich komme mit dem Support nicht weiter.

mjmpeace commented 2 years ago

Error-log - Halle 22.02.2022 14.19.docx Hier ist die Error-logdatei meines Systems nach umstellen auf True in der init.php @tkrebs Vielleicht kann das mal jemand anschauen, der es versteht, wo der Fehler liegen kann.

tkrebs commented 2 years ago

Deine Mail-Konfiguration ist an (mindestens) folgender Stelle fehlerhaft:

https://github.com/tkrebs/ep3-bs/blob/master/config/autoload/local.php.dist#L19

Die drei möglichen Werte sind angegeben:

tkrebs commented 2 years ago

539

tkrebs commented 2 years ago

Wichtig:

Sofern das System während des Testens der Konfigurationen nicht im Debug-Modus ist, müssen nach Änderungen die Dateien im Cache-Verzeichnis gelöscht werden:

/data/cache

mjmpeace commented 2 years ago

Fatal error: Uncaught Zend\ModuleManager\Listener\Exception\InvalidArgumentException: Config being merged must be an array, implement the Traversable interface, or be an instance of Zend\Config\Config. integer given. in /kunden/....../webseiten/halle/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/ConfigListener.php:342 Stack trace: #0 /kunden/....../webseiten/halle/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/ConfigListener.php(376): Zend\ModuleManager\Listener\ConfigListener->addConfig('config/autoload...', 1) #1 /kunden/....../webseiten/halle/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/ConfigListener.php(144): Zend\ModuleManager\Listener\ConfigListener->addConfigByPath('config/autoload...', 'glob_path') #2 [internal function]: Zend\ModuleManager\Listener\ConfigListener->onMergeConfig(Object(Zend\ModuleManager\ModuleEvent)) #3 /kunden/....../webseiten/halle/vendor/zendframework/zendframework/library/Zend/EventManager/Even in /kunden/...../webseiten/halle/vendor/zendframework/zendframework/library/Zend/ModuleManager/Listener/ConfigListener.php on line 342

mjmpeace commented 2 years ago

Die Fehlermeldung kommt im Debug Modus. Irgendwo muss noch ein falscher Eintrag sein der mit der local.php nicht übereinstimmt.