Zend Loader für PHP 5.6 seid neustem Update unbrauchbar :(

Status
Für weitere Antworten geschlossen.

Plutonic

Benutzer
Mitglied seit
07. Dez 2016
Beiträge
77
Punkte für Reaktionen
0
Punkte
12
Hallo,

ich gebe zu das hier ist ein sehr spezielles Problem. Aber vielleicht gibt es ja noch jemanden der eine Homepage oder eine Website auf seiner DS hostet, die unter anderem Zend PHP Schutz benutzt und der seit dem Update der Webstation von Anfang der Woche nun auch Probleme hat.

Auf der Hilfeseite von Synology findet man eine Anleitung, wie man die Erweiterung "ZendGuardLoader.so" auf der Synology DS nachrüsten kann. Siehe dazu den Link: https://www.synology.com/de-de/know...cation/Does_Synology_Web_Station_support_Zend
Diese Anleitung habe ich ausgeführt und zusätzlich über Putty nocheinmal mit Rootrecht nachgesehen, dass die Einträge auch geschrieben worden sind.

Leider kommt immer wieder diese Fehlermeldung wenn ich versuche, auf meine Homepage zuzugreifen:

>>Zend Guard Run-time support missing!

One more more files on this web site were encoded by ZendGuard and the required run-time support is not installed orproperly configured.
For the Web site user
This means that this Web server is not configured correctly to runthe files that it contains. Please contact the Web site'sadministrator/webmaster and inform them of this problem and give themthe URL you are trying to display to help them in diagnosing theproblem.
For The Site Administrator/Web Master
One or more files on your site were encoded with Zend Guard. Thismay be third party libraries that were provided to you by an ISV. Toallow these files to properly run you need to download and installone of the Zend guard run-time libraries. This is either ZendOptimizer or Zend Loader. The proper files can be downloaded fromhttp://www.zend.com/guard/downloads.This software is provided free of charge.
General Disclaimer: Zend Technologies is not responsible tothe configuration and setup of web sites using Zend Guard technology.Please contact your software vendor if these components were providedby an ISV or consult your Zend Guard Users Guide if these files wereencoded by your organization.<<

Beim Webserver habe ich bei HTTP-Backend-Server auf "NGINX" gestellt so wie früher auch und bei PHP auf Version "5.6" da die Homepage von mir keine höheren PHP-Version unterstützt.
Unter PHP Einstellungen habe ich bei der Registrierkarte Kern alle Zendoptionen angestellt.
Ich bin langsam mit meinem Latein am Ende und wäre dankbar für Hilfe.

Noch Infos zu meiner Diskstation ich habe die 916+ mit dem aktuellen Betreibssystem. Auch alle Apps sind aktuell und zur Info: Die Website lief seit ca. 2 Jahren ohne Probleme mit installierten "ZendGuardLoader" Erweiterung.

Mit freundlichen Grüßen

Plutonic
 
Zuletzt bearbeitet:

4bob

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
604
Punkte für Reaktionen
2
Punkte
38
Hi,

Zend Guard Run-time support missing!
required run-time support is not installed orproperly configured.

Das sagt eigentlich aus das php die Erweiterung nicht finden. Kannst du bitte einmal prüfen welche Module geladen werden.
Dazu gibt es 2 Möglichkeiten;
Per Konsole
Rich (BBCode):
/usr/local/bin/php56 -m |grep Zend
Interessant ist auch der Inhalt deiner Config:
Rich (BBCode):
ls -la /usr/local/etc/php56/conf.d
Rich (BBCode):
more /usr/local/etc/php56/conf.d/ZendGuardLoader.ini

Alternativ erstellst du eine Datei phpinfo.php im Webserver Share mit folgendem Inhalt:
Rich (BBCode):
<?php
phpinfo();
?>
Nach dem Aufruf über bspw: https://diskstation/phpinfo.php sind folgende Blöcke am Anfang wichtig:
Additional .ini files parsed: ?
This program makes use of the Zend Scripting Language Engine: ?


Bob
 

Plutonic

Benutzer
Mitglied seit
07. Dez 2016
Beiträge
77
Punkte für Reaktionen
0
Punkte
12
Hallo Bob,

schonmal vielen Dank für Deine Antwort. In 1 Woche habe ich Urlaub, dann werde ich mich nochmal mit der Materie auseinander setzten.

Ich melde mich wenn es etwas neues gibt. :)
 

Plutonic

Benutzer
Mitglied seit
07. Dez 2016
Beiträge
77
Punkte für Reaktionen
0
Punkte
12
Hallo Bob,

folgende ini-File ist dort gelistet:

Additional .ini files parsed /usr/syno/etc/packages/WebStation/php_profile/924d8843-fae9-49e3-bfbc-2434c6a218e3/conf.d/user_settings.ini

Hier der Inhalt:
----------------------------------------------
zend_extension = opcache.so
extension = apcu.so

extension = bcmath.so
extension = bz2.so
extension = calendar.so
extension = curl.so
extension = dba.so
extension = exif.so
extension = ftp.so
extension = gd.so
extension = gettext.so
extension = gmp.so
extension = iconv.so
extension = imap.so
extension = intl.so
extension = ldap.so
extension = libsodium.so
extension = mailparse.so
extension = mcrypt.so
extension = mssql.so
extension = mysql.so
extension = mysqli.so
extension = openssl.so
extension = pdo_dblib.so
extension = pdo_mysql.so
extension = pdo_pgsql.so
extension = pdo_sqlite.so
extension = pgsql.so
extension = phar.so
extension = posix.so
extension = shmop.so
extension = soap.so
extension = sockets.so
extension = sqlite3.so
extension = ssh2.so
extension = sysvmsg.so
extension = sysvsem.so
extension = sysvshm.so
extension = wddx.so
extension = xmlrpc.so
extension = xsl.so
extension = zip.so

date.timezone = Europe/Amsterdam
display_errors = On
open_basedir =
zend.multibyte = 0
zend.signal_check = 0

-------------------------------------------
This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies



Hier der Inhalt meiner ZendGuardLoader.ini:
------------------------------
more /usr/local/etc/php56/conf.d/ZendGuardLoader.ini
->
zend_extension=ZendGuardLoader.so
zend_loader.enable=1
 

4bob

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
604
Punkte für Reaktionen
2
Punkte
38
Hi,

Nun das zeigt, wie bereits vermutet, PHP hat keine Kenntnis über das installierte Module „Zend Guard Loader“ und es schaut auch so aus als ob hier einiges fehlt :confused:

Unter Additional .ini sollte mehr als ein Eintrag sein; Könntest du bitte einen Printscreen posten von der aufgerufenen phpinfo.php ?
Hast du im DSM unter der Webstation selbst keine Erweiterungen ausgewählt?
Auch müsste in der user_settings.ini der OpenBase_dir mit Inhalt ausgegeben werden selbst wenn kein Hacken in der Webstation Config gesetzt wurde.

Bitte folgende Ausgaben posten:
Rich (BBCode):
ls -la /usr/local/etc/php56/conf.d/
Rich (BBCode):
ls -la /usr/syno/etc/packages/WebStation/php56/conf.d

Rich (BBCode):
more /usr/local/etc/php56/conf.d/ZendGuardLoader.ini
Ist das die exakte Ausgabe?
->
zend_extension=ZendGuardLoader.so
zend_loader.enable=1

Bob
 

Plutonic

Benutzer
Mitglied seit
07. Dez 2016
Beiträge
77
Punkte für Reaktionen
0
Punkte
12
Hallo Bob.

ja genau so sieht meine ZendGuardLoader.ini aus.

-----------------------------------------------------------------

Hier die PHP_Info.php



----------------------------------------------------------------

Dann Von der Webstation die Erweiterten Einstellungen und Bild 2 die Kerneinstellungen von PHP5.6

http://www.bilder-upload.eu/show.php?file=a8be4a-1514105401.jpg

http://www.directupload.net/file/d/4946/felru4mq_jpg.htm

----------------------------------------------------------------

Sowie noch ein Screenshot von erforderlichen Ausgaben:

http://www.bilder-upload.eu/show.php?file=36c57f-1514105498.jpg


Frohe Weihnachten

Plutonic
 

4bob

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
604
Punkte für Reaktionen
2
Punkte
38
Frohe Weihnachten!

Hi Plutonic.

Ich komm leider nicht an die Bilder vom bilder-upload.eu, hab hier einen Contentfilter im Weg der das nicht zulässt.
Aber mit der phpinfo fallen mir einige Details sofort auf; Warum sind unter jeder PHP Version 2 Profile ?
Geht mit der Webstation per default nicht; Loaded Configuration File Path ist ebenfalls niemals ins @appstore gebogen ... :confused:

Hast du das alles selbst umgestellt?
Je mehr Parameter verändert wurde um so schwieriger wird es ohne dessen Kenntnis hier zu helfen und um so verständlicher wird deine Aussage das es nach einem Update zum erliegen kam.

Zwei Vorschläge:
Erstens: Das INI File für ZendGuardLoader hat nur 2 Zeilen, die erste Zeile bitte löschen:

zend_extension=ZendGuardLoader.so
zend_loader.enable=1


Anschließend php durchstarten
Rich (BBCode):
restart pkg-php56-fpm

und erneut die PHP Info aufrufen zum prüfen ob die ZendGuardLoader.ini angezeigt wird unter Additional .ini files parsed: ?
Sowie am Ende des ersten Blocks unter Zend Scripting Language Engine ein Eintrag sichtbar ist.


Zweitens [Mein Favorit]: Ich würde eine Datensicherung machen;
Alle beteiligenden Pakete deinstallieren/löschen: PHP & Webstation;
Sicherstellen das selbst erstellte und modifizierte ini‘s nicht mehr vorhanden sind, anschließend eine saubere PHP Installation mit ZendGuardLoader.
Das Ergebnis sollte dann wie folgt aussehen:

Auswahl_343.jpg

Bob
 

WirthmU

Benutzer
Mitglied seit
09. Jan 2018
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Ich habe ein Problem dass wohl entfernt mit dem hier zu tun hat.

Auf meinem DS218play läuft das aktuellste DSM. Ich habe cacti laufen (www.cacti.net) über php56. Eines der Module steigt mit folgendem Fehler aus:

PHP Fatal error: Call to undefined function posix_kill()...

Wenn ich mit php -m die geladenen Module aufrufe dann sehe ich dort posix. Wenn ich php56 -m aufrufe fehlt dort das posix Modul.

Wie kann ich das posix Modul unter php56 laden?
 

4bob

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
604
Punkte für Reaktionen
2
Punkte
38
Um die aktiven Module von php56 für die Webstation zu prüfen gehst du wie folgt vor:
Rich (BBCode):
/usr/local/bin/php56 -m
Wenn Posix fehlt einfach in der Webstation > PHP-Einstellungen > Erweiterung auswählen und mit OK bestätigen.

Bob
 

WirthmU

Benutzer
Mitglied seit
09. Jan 2018
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Das habe ich bereits getan. Dort ist posix auch tatsächlich selektiert - nur eben mit /usr/local/bin/php56 -m erscheint posix nicht aktiv.
 

4bob

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
604
Punkte für Reaktionen
2
Punkte
38
Dann würde ich php deinstallieren und neu einrichten, das war meine Empfehlung an den TO.
 

WirthmU

Benutzer
Mitglied seit
09. Jan 2018
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Hab es so versucht - keine Änderung gegenüber vorher
 

4bob

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
604
Punkte für Reaktionen
2
Punkte
38
Dann wurde der Vorgang nicht sauber durchgeführt!
Auch geprüft ob nach der Deinstallation alles entfernt wurde?

Hast du selbst Modifikationen vorgenommen?
Schonmal nachgesehen ob das Modul überhaupt auf da ist?
Rich (BBCode):
ls -l /var/packages/PHP5.6/target/usr/local/lib/php56/modules |grep posix.so
 

WirthmU

Benutzer
Mitglied seit
09. Jan 2018
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Ja - das Modul ist da. Ich habe php5.6 mit dem Package Manager in der DSM entfernt und ich kann das in der Konsole auch prüfen - da war nichts mehr von php56.

Ich habe auf der Konsole dann nochmals alles was sich php56 nannte gelöscht und alles neu aufgesetzt. Leider ist wieder alles wie vorher.

Seltsam ist, dass wenn ich php -m oder php56 -m nicht dieselben module erscheinen.
 

4bob

Benutzer
Mitglied seit
04. Mai 2016
Beiträge
604
Punkte für Reaktionen
2
Punkte
38
Seltsam ist, dass wenn ich php -m oder php56 -m nicht dieselben module erscheinen.

Das ist nicht „Seltsam“ sondern das DSM eigene PHP, das hat überhaupt nicht mit der Webstation zu tun.
Es liegt hier /bin/php und dient nur der DS. Du musst dich nur auf das konzentrieren: /usr/local/bin/php56

Gibt es keine Hinweise, was steht in den LOGs? Bspw.
/var/log/php56-fpm.log
 

WirthmU

Benutzer
Mitglied seit
09. Jan 2018
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Danke für die Klärung über das DS php - ich bin immer noch am lernen...

Das Log-File hat folgenden Inhalt:
2018-02-07T18:49:40+01:00 IoTStation php56-fpm[17997]: [NOTICE] fpm is running, pid 17997
2018-02-07T18:49:40+01:00 IoTStation php56-fpm[17997]: [NOTICE] ready to handle connections
2018-02-07T18:50:43+01:00 IoTStation php56-fpm[17997]: [NOTICE] Reloading in progress ...
2018-02-07T18:50:43+01:00 IoTStation php56-fpm[17997]: [NOTICE] reloading: execvp("/var/packages/PHP5.6/target/usr/local/bin/php56-fpm", {"/var/packages/PHP5.6/target/usr/local/bin/php56-fpm", "-c", "/usr/local/etc/php56/php.ini", "--fpm-config", "/var/pack$
2018-02-07T18:50:43+01:00 IoTStation php56-fpm[17997]: [NOTICE] fpm is running, pid 17997
2018-02-07T18:50:43+01:00 IoTStation php56-fpm[17997]: [NOTICE] ready to handle connections
2018-02-07T19:00:01+01:00 IoTStation php56-fpm[17997]: [NOTICE] Terminating ...
2018-02-07T19:00:01+01:00 IoTStation php56-fpm[17997]: [NOTICE] exiting, bye-bye!
2018-02-07T19:01:54+01:00 IoTStation php56-fpm[8253]: [NOTICE] fpm is running, pid 8253
2018-02-07T19:01:54+01:00 IoTStation php56-fpm[8253]: [NOTICE] ready to handle connections
2018-02-07T19:13:43+01:00 IoTStation php56-fpm[8253]: [NOTICE] Terminating ...
2018-02-07T19:13:43+01:00 IoTStation php56-fpm[8253]: [NOTICE] exiting, bye-bye!
2018-02-07T19:15:43+01:00 IoTStation php56-fpm[8174]: [NOTICE] fpm is running, pid 8174
2018-02-07T19:15:43+01:00 IoTStation php56-fpm[8174]: [NOTICE] ready to handle connections
2018-02-07T19:28:47+01:00 IoTStation php56-fpm[8174]: [NOTICE] Reloading in progress ...
2018-02-07T19:28:47+01:00 IoTStation php56-fpm[8174]: [NOTICE] reloading: execvp("/var/packages/PHP5.6/target/usr/local/bin/php56-fpm", {"/var/packages/PHP5.6/target/usr/local/bin/php56-fpm", "-c", "/usr/local/etc/php56/php.ini", "--fpm-config", "/var/packa$
2018-02-07T19:28:47+01:00 IoTStation php56-fpm[8174]: [NOTICE] fpm is running, pid 8174
2018-02-07T19:28:47+01:00 IoTStation php56-fpm[8174]: [NOTICE] ready to handle connections
2018-02-07T19:29:41+01:00 IoTStation php56-fpm[8174]: [NOTICE] Terminating ...
2018-02-07T19:29:41+01:00 IoTStation php56-fpm[8174]: [NOTICE] exiting, bye-bye!
2018-02-07T19:36:11+01:00 IoTStation php56-fpm[19487]: [NOTICE] fpm is running, pid 19487
2018-02-07T19:36:11+01:00 IoTStation php56-fpm[19487]: [NOTICE] ready to handle connections
2018-02-07T19:38:04+01:00 IoTStation php56-fpm[19487]: [NOTICE] Reloading in progress ...
2018-02-07T19:38:04+01:00 IoTStation php56-fpm[19487]: [NOTICE] reloading: execvp("/var/packages/PHP5.6/target/usr/local/bin/php56-fpm", {"/var/packages/PHP5.6/target/usr/local/bin/php56-fpm", "-c", "/usr/local/etc/php56/php.ini", "--fpm-config", "/var/pack$
2018-02-07T19:38:04+01:00 IoTStation php56-fpm[19487]: [NOTICE] fpm is running, pid 19487
2018-02-07T19:38:04+01:00 IoTStation php56-fpm[19487]: [NOTICE] ready to handle connections

Vermutlich wäre die "reloading"-Zeile am interessantesten. die wird leider am Bildschirmende abgehackt:
reloading: execvp("/var/packages/PHP5.6/target/usr/local/bin/php56-fpm", {"/var/packages/PHP5.6/target/usr/local/bin/php56-fpm", "-c", "/usr/local/etc/php56/php.ini", "--fpm-config", "/var/packages/PHP5.6/target/usr/local/etc/php56/php-fpm.conf", "--allow-to-run-as-root", "--nodaemonize", "--pid", "/run/php-fpm/php56-fpm.pid"})
 
Zuletzt bearbeitet:

WirthmU

Benutzer
Mitglied seit
09. Jan 2018
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Ich habe es (teilweise) hingekriegt. Neben der posix-Extension wollte ich auch diejenige für ftp im php56 aktivieren. Dazu habe ich folgendes gemacht:

php56 ini-Datei editieren:
nano /usr/local/etc/php56/php.ini

Modul-Pfad anpassen:
extension_dir = "/var/packages/PHP5.6/target/usr/local/lib/php56/modules/"

Module laden lassen:
[extension]
extension = posix.po
extension = ftp.so

php.ini speichern:

php56 neu starten:
restart pkg-php56-fpm


Danach hat alles eigentlich perfekt funktioniert. Mit php56 -m sah ich die Module posix und ftp geladen und meine cacti-Applikation lief wie gewünscht.

Nur leider wurde die Änderungen in der php.ini Datei nach einem Neustart der DSM rückgängig gemacht. Woran das wohl liegt?
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat