[3.0] Verständnisfrage zur Migration

Das Forum soll der Ablage von Lösungen für immer wieder auftauchende Problemstellungen dienen. // This forum contains solutions to problems that frequently occur.
GeneralCrime
Beiträge: 67
Registriert: 14.12.2011, 07:13:16

Re: [3.0] Verständnisfrage zur Migration

Beitrag von GeneralCrime » 25.08.2015, 13:14:58

So habe soeben nochmal 3 test gemacht.

1. Ich habe ein weitaus kleineres Projekt genommen und mittels "../" das Script gestartet. ===> Resultat: Fehler Cache.
2. Ich bin in ein leeres verzeichnis gegangen und hab das Script mittels "../" gestartet. ====> Resultat: Fehler Cache.
3. Ich habe in dem leeren Verzeichnis die migration von 2.1 mittesl "../" gestratet. ====> Resultat: Funktionierte

Also scheint es an den Datein zu liegen.

Habe die dann mal gecheckt....

Code: Alles auswählen

$ ls -shal /cygdrive/h/htdocs/APF/migration
insgesamt 148K
 12K drwxrwx---+ 1 General Crime None             0  6. Sep 2014  .
4,0K drwxrwx---+ 1 General Crime None             0  6. Sep 2014  ..
4,0K ----rwx---+ 1 Unknown+User  Unknown+Group 1,2K  6. Sep 2014  check.sh
4,0K -rwxrwx---+ 1 General Crime None          2,2K  2. Mai 2014  cleanup_existing_use_statements.php
4,0K -rwxrwx---+ 1 General Crime None          3,7K  2. Mai 2014  migrate.sh
4,0K ----rwx---+ 1 Unknown+User  Unknown+Group 1,3K  6. Sep 2014  migrate_base.php
4,0K -rwxrwx---+ 1 General Crime None           872  2. Mai 2014  migrate_cache_configuration.php
1,0K -rwxrwx---+ 1 General Crime None           518  2. Mai 2014  migrate_code_documentation.php
1,0K -rwxrwx---+ 1 General Crime None           531  2. Mai 2014  migrate_config_calls.php
4,0K -rwxrwx---+ 1 General Crime None           917  2. Mai 2014  migrate_contact_configuration.php
4,0K -rwxrwx---+ 1 General Crime None           785  2. Mai 2014  migrate_core_registry_calls.php
4,0K -rwxrwx---+ 1 General Crime None           910  2. Mai 2014  migrate_core_session_calls.php
1,0K -rwxrwx---+ 1 General Crime None           426  2. Mai 2014  migrate_db_config.php
4,0K ----rwx---+ 1 Unknown+User  Unknown+Group  862  6. Sep 2014  migrate_db_configuration.php
4,0K -rwxrwx---+ 1 General Crime None          1,3K  2. Mai 2014  migrate_di_configuration.php
4,0K -rwxrwx---+ 1 General Crime None           605  2. Mai 2014  migrate_document_controller_statements.php
4,0K ----rwx---+ 1 Unknown+User  Unknown+Group  635  6. Sep 2014  migrate_fc_configuration.php
4,0K -rwxrwx---+ 1 General Crime None           888  2. Mai 2014  migrate_gorm_configuration.php
4,0K -rwxrwx---+ 1 General Crime None           938  2. Mai 2014  migrate_import_calls.php
4,0K -rwxrwx---+ 1 General Crime None          1,2K  2. Mai 2014  migrate_linkgenerator_calls.php
4,0K -rwxrwx---+ 1 General Crime None          1,2K  2. Mai 2014  migrate_missing_use_statements.php
4,0K -rwxrwx---+ 1 General Crime None          1,2K  2. Mai 2014  migrate_pager_configuration.php
4,0K -rwxrwx---+ 1 General Crime None          1,4K  2. Mai 2014  migrate_posthandler.php
4,0K -rwxrwx---+ 1 General Crime None          1,6K  2. Mai 2014  migrate_singleton_calls.php
8,0K -rwxrwx---+ 1 General Crime None          5,0K  2. Mai 2014  migrate_sm_calls.php
4,0K -rwxrwx---+ 1 General Crime None           657  2. Mai 2014  migrate_taglib_declaration.php
8,0K -rwxrwx---+ 1 General Crime None          4,1K  2. Mai 2014  migrate_taglib_statements.php
4,0K -rwxrwx---+ 1 General Crime None           624  2. Mai 2014  migrate_tools_cookie_calls.php
4,0K -rwxrwx---+ 1 General Crime None           607  2. Mai 2014  migrate_umgt_configuration.php
4,0K ----rwx---+ 1 Unknown+User  Unknown+Group  898  6. Sep 2014  migrate-code.sh
4,0K ----rwx---+ 1 Unknown+User  Unknown+Group 1,1K  6. Sep 2014  migrate-config.sh
4,0K -rwxrwx---+ 1 General Crime None          1,6K  2. Mai 2014  prepare_addtaglib_statements.php
1,0K ----rwx---+ 1 Unknown+User  Unknown+Group  409  6. Sep 2014  README.txt
8,0K ----rwx---+ 1 Unknown+User  Unknown+Group 4,3K  6. Sep 2014  relocate.php
4,0K ----rwx---+ 1 Unknown+User  Unknown+Group 1,7K  6. Sep 2014  relocate.sh

Unknow User gehe ich davon aus kommt weil die Datein noch vor dem Win10 Update erstellt wurden und bei win10 ja nun der Microsoft Account genutzt wird.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: [3.0] Verständnisfrage zur Migration

Beitrag von dr.e. » 25.08.2015, 21:56:11

Hallo GeneralCrime,

danke für deinen Test! Nun bin ich wirklich ratlos... :? Ist es dir möglich dein kleines Projekt zur Verfügung zu stellen, damit ich versuchen kann das nachzuvollziehen. Gerne auch als Team-Viewer-Session oder ähnliches. Ich möchte das wirklich gerne für dich lösen, fürchte nur, dass wir hinsichtlich der Möglichkeiten über das Forum zu kommunizieren am Ende angekommen sind.

Schreib mir gerne eine PM, dann können wir die weiteren Schritte besprechen!
Viele Grüße,
Christian

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: [3.0] Verständnisfrage zur Migration

Beitrag von dr.e. » 26.08.2015, 22:10:57

Hallo GeneralCrime,

vielen Dank für deine E-Mail. Ich habe mich auf die Suche begeben und das Problem gefunden. Das unter Windows kompilierte Binary von PHP versteht keine Cygwin-Pfade beim Aufruf/der Ausführung von PHP-Dateien. Es ist bei absoluter Pfad-Angabe daher notwendig die Pfade - wie oben vermutet - per cygpath -m anzupassen. Das bedeutet ein bisschen Umbau am Skript, sollte doch kein Hexenwerk sein.

Anbei eine Version, die du gerne lokal ausprobieren kannst (migrate-code.sh):

Code: Alles auswählen

#!/bin/bash
########################################################################################################################
# APF 3.0 automatic code migration script                                                                              #
########################################################################################################################

echo "#############################################"
echo "# APF 3.0 automatic code migration          #"
echo "#############################################"
echo

SCRIPT_DIR=$(dirname $0)

case "$(uname -s)" in
    CYGWIN*) echo "Running on windows ..."; echo; MIG_DIR=$(cygpath -m $SCRIPT_DIR) ;;
    *) MIG_DIR=$SCRIPT_DIR ;;
esac

echo "Script dir: $SCRIPT_DIR"
echo "Migration scripts dir: $MIG_DIR"
echo

# include checks and preparation
source "$SCRIPT_DIR/check.sh"

echo
echo "#############################################"
echo
echo "Starting migration ..."

# migrate tag lib declaration
echo "* Migrate taglib declaration statements ..."
$PHP_BINARY -f $MIG_DIR/migrate_taglib_registration.php

echo "* Consolidate tag usage ..."
$PHP_BINARY $MIG_DIR/migrate_consolidate_tag_usage.php

echo "* Remove redundant tag lib registration ..."
$PHP_BINARY $MIG_DIR/migrate_extract_add_tag_statements.php

echo "* Switch to new place holder logic ..."
$PHP_BINARY $MIG_DIR/migrate_update_place_holders_to_expression_notation.php

echo "* Migrate iterator item place holders ..."
$PHP_BINARY $MIG_DIR/migrate_iterator_place_holders.php

echo "* Remove RequestHandler usage ..."
$PHP_BINARY $MIG_DIR/migrate_remove_request_handler.php

echo "* Remove HeaderManager usage ..."
$PHP_BINARY $MIG_DIR/migrate_remove_header_manager.php

echo "* Remove APF\tools\cookie\Cookie usage ..."
$PHP_BINARY $MIG_DIR/migrate_remove_tools_cookie.php

echo "* Migrate session handling to new API ..."
$PHP_BINARY $MIG_DIR/migrate_session_handling.php

echo "* Migrate form definitions ..."
$PHP_BINARY $MIG_DIR/migrate_form_definitions.php

echo "* Migrate service object API ..."
$PHP_BINARY $MIG_DIR/migrate_service_object_api.php

echo
echo "#############################################"
echo
echo "Migration done! Please check your code and follow instructions within migration documentation!"

exit 0
Leider konnte ich das Problem mit der Buffer-Overflow nicht nachvollziehen. Könnte ein Problem mit PHP5.4 vs. 5.6 sein. Hoffe ich konnte dir damit weiter helfen.

Falls alles klappt ändere ich die beiden Skripten ab und release ein 3.0.1 für das Problem.
Viele Grüße,
Christian

GeneralCrime
Beiträge: 67
Registriert: 14.12.2011, 07:13:16

Re: [3.0] Verständnisfrage zur Migration

Beitrag von GeneralCrime » 27.08.2015, 10:06:24

Code: Alles auswählen

#############################################
# APF 3.0 automatic code migration          #
#############################################

Running on windows ...

Script dir: /cygdrive/h/htdocs/APF_3.0/migration
Migration scripts dir: H:/htdocs/APF_3.0/migration

Checking PHP executable available ... [OK]

Using given php executable at /cygdrive/c/xampp/php/php. PHP Version: 5.6.11.

#############################################

Starting migration ...
* Migrate taglib declaration statements ...
Starten mit absoluten Pfad hat Funktioniert..... beendet wird das ganze jedoch bei jedr Datei mit dem Stack overflow.
General Crime@GeneralCrime-PC /cygdrive/h/htdocs/projecticarus
$ h:/htdocs/APF_3.0/migration/migrate-code.sh c:/xampp/php/php
#############################################
# APF 3.0 automatic code migration #
#############################################

Running on windows ...

Script dir: h:/htdocs/APF_3.0/migration
Migration scripts dir: H:/htdocs/APF_3.0/migration

Checking PHP executable available ... [OK]

Using given php executable at c:/xampp/php/php. PHP Version: 5.6.11.

#############################################

Starting migration ...
* Migrate taglib declaration statements ...
das ganze mal so gestartet selber effekt.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: [3.0] Verständnisfrage zur Migration

Beitrag von dr.e. » 27.08.2015, 13:16:52

Hi,

dann sind wir zumindest mal einen Schritt weiter. Bleibt tatsächlich noch PHP 5.4 vs. 5.6. Ich aktualisiere mal meinen XAMPP und versuche das nochmal nachzuvollziehen.
Viele Grüße,
Christian

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: [3.0] Verständnisfrage zur Migration

Beitrag von dr.e. » 27.08.2015, 19:56:46

Hallo GeneralCrime,

nun bin ich dem Fehler auf die Schliche gekommen. Ich bekomme zwar keinen Stackoverflow o.ä. doch einen unendlich laufenden PHP-Prozess mit 5.6.12. Schuld an der Geschichte ist das rekursive finden von Dateien und Verzeichnissen. Lokal konnte ich mit meinem Fix den Fehler schon beheben. Ich teste nun deinen Anwendungsfall nochmal ausführlich.
Viele Grüße,
Christian

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: [3.0] Verständnisfrage zur Migration

Beitrag von dr.e. » 28.08.2015, 18:25:46

Hallo GeneralCrime,

ich habe nun meiner Ansicht nach alle Fehler gefunden und beseitigt. Fürs Tracking habe ich http://tracker.adventure-php-framework. ... php?id=257 angelegt und meine Fixes darunter eingecheckt. Unter http://adventure-php-framework.org/Seit ... Repository habe ich dir einen neuen Snapshot gebaut (http://files.adventure-php-framework.or ... hp5.tar.gz), der die Fixes beinhaltet. Ist zwar mit 3.1 gelabelt wird aber unter 3.0.1 released sobald das für dich funktioniert.

Freue mich über dein Feedback! :)
Viele Grüße,
Christian

GeneralCrime
Beiträge: 67
Registriert: 14.12.2011, 07:13:16

Re: [3.0] Verständnisfrage zur Migration

Beitrag von GeneralCrime » 28.08.2015, 19:54:37

So ein riesen schritt weiter.....
#############################################
# APF 3.0 automatic code migration #
#############################################

Checking PHP executable available ... [OK]

Using given php executable at /cygdrive/c/xampp/php/php. PHP Version: 5.6.11.

#############################################

Starting migration ...
* Migrate taglib declaration statements ...
* Consolidate tag usage ...
* Remove redundant tag lib registration ...

Notice: Undefined index: name in H:\htdocs\APF_3.0\migration\migrate_extract_add_tag_statements.php on line 42

Call Stack:
0.0005 130248 1. {main}() H:\htdocs\APF_3.0\migration\migrate_extract_add_tag_statements.php:0

* Switch to new place holder logic ...
* Migrate iterator item place holders ...
* Remove RequestHandler usage ...
* Remove HeaderManager usage ...
* Remove APF\tools\cookie\Cookie usage ...

Warning: preg_replace(): Compilation failed: nothing to repeat at offset 375 in H:\htdocs\APF_3.0\migration\migrate_remove_tools_cookie.php on line 46

Call Stack:
0.0006 137288 1. {main}() H:\htdocs\APF_3.0\migration\migrate_remove_tools_cookie.php:0
0.3600 714144 2. preg_replace(string(1919), string(1942), string(2669)) H:\htdocs\APF_3.0\migration\migrate_remove_tools_cookie.php:46


Warning: preg_replace(): Compilation failed: nothing to repeat at offset 186 in H:\htdocs\APF_3.0\migration\migrate_remove_tools_cookie.php on line 46

Call Stack:
0.0006 137288 1. {main}() H:\htdocs\APF_3.0\migration\migrate_remove_tools_cookie.php:0
0.3967 718160 2. preg_replace(string(2513), string(2536), string(3635)) H:\htdocs\APF_3.0\migration\migrate_remove_tools_cookie.php:46

* Migrate session handling to new API ...
* Migrate form definitions ...
* Migrate service object API ...

#############################################

Migration done! Please check your code and follow instructions within migration documentation!
PS: Dachte die Fehler kommen jetzt noch weil Storm eine Datei offen hat nach dem schleisen war nur noch der erste Fehler da.
Aber es hat Funktioniert schon mal ein riesen schritt danke.

PSS: So beim 2 Fehler hat er eine Datei zerschossen die mit

Code: Alles auswählen

namespace GWPORTAL\pres\controller\frontend\content\user;

use APF\modules\usermanagement\biz\login\UmgtAutoLoginAction;
use APF\modules\usermanagement\biz\model\UmgtAuthToken;
use APF\tools\cookie\Cookie;
use APF\tools\request\RequestHandler;
use GWPORTAL\pres\controller\PortalBaseController;
use APF\tools\http\HeaderManager;
gestartet hat. Er hat die Datei komplett geleert gehabt.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: [3.0] Verständnisfrage zur Migration

Beitrag von dr.e. » 29.08.2015, 07:06:48

Hi,

freut mich, dass es bei dir nun funktioniert - zumindest fast. :)

Ich vermute, dass die Migration an der ein oder anderen Stelle nicht auf die Code-Struktur vorbereitet ist. Konnte die Skripten bisher nur an meinen eigenen Projekten ausführlich testen. Dass eine Datei zerschossen ist liegt einfach daran, dass ein preg_replace() fehl schlägt.

Um für dich die bestmögliche Lösung zu erreichen würde ich das gerne an Hand der Dateien analysieren, bei denen sich die Skripten verschlucken. Kannst du mir diese per E-Mail zukommen lassen?

Schaue mir diese dann Sonntag an (bin unterwegs und erst wieder Sonntag zu Hause).
Viele Grüße,
Christian

GeneralCrime
Beiträge: 67
Registriert: 14.12.2011, 07:13:16

Re: [3.0] Verständnisfrage zur Migration

Beitrag von GeneralCrime » 30.08.2015, 11:45:27

Ich habe dir 1 derDatein zukommen lassen das der Aufbau identisch ist. Dank Storm kann man die ja immer bis zum gewissen grad wieder zurück hohlen.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: [3.0] Verständnisfrage zur Migration

Beitrag von dr.e. » 30.08.2015, 15:11:41

Hallo GeneralCrime,
Dank Storm kann man die ja immer bis zum gewissen grad wieder zurück hohlen.
Tut mir leid, dass du Inhalte verloren hast. :( Ich werde den Artikel unter http://adventure-php-framework.org/Seit ... -1-auf-3-0 noch um einen Hinweis zur vorherigen Sicherung der Dateien ergänzen.

Ich schau mir den Fehler nun genauer an und melde mich mit einer Lösung zurück.
Viele Grüße,
Christian

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: [3.0] Verständnisfrage zur Migration

Beitrag von dr.e. » 30.08.2015, 15:56:10

Hi,

ich habe den Fehler nun gefunden. Das Migrations-Skript hat mit

Code: Alles auswählen

$search = '#\$(.+)([ |\n|\r\n]*)=([ |\n|\r\n]*)new Cookie\(#msU'; 
und dem zu generisch geschriebenen ersten Teil "(.*)" das erste Vorkommen einer Variable als Start-Punkt genutzt. Das umfasste mehr oder weniger die komplette Datei und bei der Ersetzung gab es dann kein entsprechend Ziel und die Datei wurde komplett geleert.

Auf Basis dieser Erkenntnis habe ich auch alle anderen Skripten nach solchen oder ähnlichen Fallstricken durchsucht. Ich gehe davon aus, dass nun alle Fälle abgefangen werden. Auch den ersten Fall habe ich nochmal zur Sicherheit abgefangen.

Habe dir einen neuen Snapshot unter http://files.adventure-php-framework.or ... hp5.tar.gz zur Verfügung gestellt.

Hoffe damit kannst du die Migration nun erfolgreich abschließen. :)
Viele Grüße,
Christian

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: [3.0] Verständnisfrage zur Migration

Beitrag von dr.e. » 30.08.2015, 16:17:19

Kleine Ergänzung:
ich habe nun direkt auch die Version 3.0.1 vorbereitet (siehe http://tracker.adventure-php-framework. ... sion_id=14). Ein entsprechender Snapshot kann unter http://files.adventure-php-framework.or ... hp5.tar.gz heruntergeladen werden. Er beinhaltet die selben Fixes zum Thema Migration wie auch der 3.1 Snapshot.
Viele Grüße,
Christian

GeneralCrime
Beiträge: 67
Registriert: 14.12.2011, 07:13:16

Re: [3.0] Verständnisfrage zur Migration

Beitrag von GeneralCrime » 30.08.2015, 19:09:08

Hm glaub ich bin zu dumm? In den Datein ist nicht das besagte drinn!

Code: Alles auswählen

$ /cygdrive/h/htdocs/APF_3.0/migration/migrate-code.sh /cygdrive/c/xampp/php/php
/cygdrive/h/htdocs/APF_3.0/migration/migrate-code.sh: Zeile 5: $'\r': Kommando n                                                                                                                                                                                               icht gefunden.
#############################################
# APF 3.0 automatic code migration          #
#############################################
/cygdrive/h/htdocs/APF_3.0/migration/migrate-code.sh: Zeile 9: $'echo\r': Komman                                                                                                                                                                                               do nicht gefunden.
/cygdrive/h/htdocs/APF_3.0/migration/migrate-code.sh: Zeile 10: $'\r': Kommando                                                                                                                                                                                                nicht gefunden.
/cygdrive/h/htdocs/APF_3.0/migration/migrate-code.sh: Zeile 12: $'\r': Kommando                                                                                                                                                                                                nicht gefunden.
/cygdrive/h/htdocs/APF_3.0/migration/migrate-code.sh: Zeile 13: Syntaxfehler bei                                                                                                                                                                                               m unerwarteten Wort `$'in\r''
/cygdrive/h/htdocs/APF_3.0/migration/migrate-code.sh: Zeile 13: `case "$(uname -                                                                                                                                                                                               ')" in
hm hatte mir nun das von github gezogen (mit dem ding muss ich mich auch mal auseinander setzen.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: [3.0] Verständnisfrage zur Migration

Beitrag von dr.e. » 31.08.2015, 13:09:34

Hi,

das sieht mir nach einem Problem mit Zeilenumbrüchen im Snapshot aus. Schaue ich mir gerne an.
hm hatte mir nun das von github gezogen (mit dem ding muss ich mich auch mal auseinander setzen.
Hoffe damit kommst du weiter. Melde dich einfach, wenn du noch weitere Fehler siehst.

EDIT: sorry, jetzt erst gesehen, dass der Snapshot fehlerhaft ist, da er den falschen Branch zieht. Fixe das heute Abend. Du kannst allerdings weiterhin den 3.1er Snapshot nutzen oder die Dateien von GitHub ziehen. Die URL dort ist https://github.com/AdventurePHP/code/ar ... se-3.0.zip.
Viele Grüße,
Christian

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast