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

PHP "shebang" (#!/use/bin/php) von Skripten entfernen #992

Closed
j3nsch opened this issue Dec 14, 2022 · 5 comments
Closed

PHP "shebang" (#!/use/bin/php) von Skripten entfernen #992

j3nsch opened this issue Dec 14, 2022 · 5 comments
Assignees
Labels
Milestone

Comments

@j3nsch
Copy link
Member

j3nsch commented Dec 14, 2022

Für die meisten OPUS 4 Skripte ist es nicht notwendig, dass sie ohne Verwendung von php ausgeführt werden. Für das bin\opus4 Skript ist es sinnvoll, da es häufig verwendet wird und so die Ausführung vereinfacht wird. Bei den anderen Skripten sollte die erste Zeile mit #!/usr/bin/php (shebang) entfernt werden.

In manchen Skripten steht da auch noch "php5", was vermutlich auf den meisten Systemen nicht mehr funktioniert.

@j3nsch j3nsch added this to the 4.7.2 milestone Dec 14, 2022
@j3nsch j3nsch self-assigned this Dec 14, 2022
j3nsch added a commit that referenced this issue Jan 12, 2023
j3nsch added a commit that referenced this issue Feb 9, 2023
j3nsch added a commit that referenced this issue Feb 9, 2023
@j3nsch
Copy link
Member Author

j3nsch commented Feb 9, 2023

Nur bin/opus4 enthält noch die Angabe, damit das Skript ohne php davor, direkt ausgeführt werden kann.

@alw-bsz
Copy link
Contributor

alw-bsz commented Aug 22, 2024

Bei uns führt das Entfernen der Shebang dazu, dass beim Updaten der Datenbank (update.sh) die PHP-Files nicht mehr als PHP interpretiert werden und folgende Fehlermeldung auftritt:

Running update scripts ...
Running '015-Add-InC-licence.php' ... 
/opt/opus/test481/opus4/scripts/update/015-Add-InC-licence.php: 1: cannot open ?PHP: No such file
/opt/opus/test481/opus4/scripts/update/015-Add-InC-licence.php: 3: /bin: Permission denied
/opt/opus/test481/opus4/scripts/update/015-Add-InC-licence.php: 4: Syntax error: "(" unexpected
Error (2) running '015-Add-InC-licence.php'! 

ERROR - An error occured during updating!
Error (2) running '015-Add-InC-licence.php'!
Update aborted!

Wenn man die Shebang (#!/usr/bin/env php) wieder in die PHP-Files einfügt, laufen die Scripte korrekt durch.

@j3nsch j3nsch reopened this Aug 26, 2024
@j3nsch
Copy link
Member Author

j3nsch commented Aug 26, 2024

Danke. Ja, ich kann das Problem hier nachvollziehen. Interessant, dass das erst jetzt kommt. Die Änderungen war in OPUS 4.8. Führt niemand das Update-Skript aus bzw. meldet nicht, wenn dabei Probleme entstehen? Nur am Rand, das hätte ein neues Ticket sein sollen bzw. das alte Ticket muss mindestens wieder geöffnet werden, da wir uns sonst "merken müssen", dass es ein offenes Problem gibt. Dafür haben wir ja die Issue-Verwaltung. Wenn wir nur fünf Tickets hätten wäre es nicht so wichtig, aber immer noch richtig. :)

So, zum eigentlichen Problem. Ich denke nicht, dass das Hinzufügen der Shebang, die beste Lösung ist. Beim Beispiel oben ist der Pfad ein anderer als vorher in den Skripten. Es könnte als immer wieder Probleme mit abweichend konfigurierten Systemen geben. Vermutlich hat das auch mal so wie es jetzt ist funktioniert und dann hat sich etwas in Ubuntu bzw. Debian geändert. Das würde auch erklären, warum es im letzten Jahr keine Meldungen gab. Ich denke, der sinnvollere Ansatz ist php gezielt im Code für die Ausführung der Skripte aufzurufen. Evtl. ist das dann auch unabhängig vom Pfad für PHP möglich.

@j3nsch j3nsch added the bug label Aug 26, 2024
j3nsch added a commit that referenced this issue Aug 27, 2024
@j3nsch j3nsch removed this from OPUS 4.8.1 Aug 27, 2024
@j3nsch
Copy link
Member Author

j3nsch commented Aug 27, 2024

Das Problem sollte in OPUS 4.8.0.6 (gerade veröffentlicht) behoben sein.

@alw-bsz
Copy link
Contributor

alw-bsz commented Aug 29, 2024

Jetzt tritt der Fehler nicht mehr auf - danke! Uns ist der Fehler tatsächlich erst vor Kurzem beim Testen von 4.8.1 aufgefallen. Bei den Instanzen, die wir bislang von 4.7.1 auf 4.8 upgedated haben, gab es das Problem nicht. Entweder mussten da keine untergeordneten Update-Scripte in PHP ausgeführt werden, weil es keine Änderungen gab, oder wir hatten sie in den betroffenen Instanzen bereits vorweg genommen.

Ich würde gerne geschlossene Issues wieder öffnen, aber ich kann das nicht (fehlende Berechtigung?) ;-).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
No open projects
Status: Done
Status: Done
Development

No branches or pull requests

2 participants