Probleme PHP => MySql

Status
Für weitere Antworten geschlossen.

Tagger

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
140
Punkte für Reaktionen
0
Punkte
22
Seit einigen Tagen scheint die Verbindung zwischen PHP (5.3.3) und MySql (5.1.49) verlorengegangen zu sein. Beides läuft und ist im DSM aktiviert, nur scheint von PHP kein Zugriff auf die MySql Datenbanken möglich zu sein. PHPINFO gibt nichts zu MySql aus und der Zugriff via SqlBuddy läuft ebenfalls ins Leere.

Im Forum habe ich bisher nichts hilfreiches finden können. Hat irgendwer ähnliche Probleme oder kann helfen?

PS: Gibt es von Synology schon ein upgrade auf PHP 5.3.5?
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Läuft denn dein MySQL-Server? Kannst per auf der DS installiertem phpMyAdmin auf deinen MySQL-Server zugreifen?

Itari
 

Tagger

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
140
Punkte für Reaktionen
0
Punkte
22
Hi itari, danke wie immer für deine Hilfe.

Ja der MySQL-Server läuft, dein Admin-Tool erkennt sogar die Tabellen. PhpMyAdmin ist nicht installiert, ich vermute aber, der würde wie SQL-Buddy fehlschlagen, da ja beide auf PHP basieren. Es gibt auch keinerlei Fehlermeldungen seitens MySQL. Aber alle Webanwendungen, die einen Datenbankzugriff benötigen, zeigen nur eine leere Seite an. Wie schon gesagt, PHPInfo gibt auch nichts zu MySQL aus.

Vermutlich hat es was mit der Neuinstallation des Admin-Tools zu tun, ich bin mir aber nicht sicher. Nur es passt zeitlich. Kannst du mir sagen, was genau oder ob überhaupt, du hinsichtlich PHP/MySQL beim Setup des Admin-Tools veränderst.

Vielleicht ist es nur eine bestimmte Einstellung, die das Zusammenspiel verhindert.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Das AdminTool läuft auf dem System-Apachen und verändert eigentlich keine Einstellungen, die etwas mit dem User-Apachen zu tun haben. Wenn das AdminTool auf die MySQL-Tabellen zugreifen kann, dann läuft der MySQL-Server und auch das PHP (denn das AdminTool greift auch per PHP zu). Könnte es sein, dass man beim Webserver noch PHP und bestimmte PHP-Module zuladen muss? Hast das schon einmal mit dem DSM nachgeschaut, ob man da etwas konfigurieren kann?

Itari
 

Tagger

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
140
Punkte für Reaktionen
0
Punkte
22
Das AdminTool läuft auf dem System-Apachen und verändert eigentlich keine Einstellungen, die etwas mit dem User-Apachen zu tun haben.
Ah OK, gut, eine Sorge weniger.

Wenn das AdminTool auf die MySQL-Tabellen zugreifen kann, dann läuft der MySQL-Server und auch das PHP (denn das AdminTool greift auch per PHP zu).
Mhmm, das hört sich an, als wenn dann das Problem eher beim User-Apachen oder dessen Einstellungen zu suchen wäre.

Könnte es sein, dass man beim Webserver noch PHP und bestimmte PHP-Module zuladen muss? Hast das schon einmal mit dem DSM nachgeschaut, ob man da etwas konfigurieren kann?
Da ist eigentlich nicht viel einzustellen, siehe Screenshots.

php-01.jpg php-02.jpg php-03.jpg

Hinweis: "display_errors" ist momentan nur zur Fehlersuche eingeschaltet.

Ich werde mir jetzt die Einstellungen vom User-Apachen noch mal genauer ansehen. Allerdings hatte ich dessen Config files schon per Dateivergleich mit einer älteren laufenden Version verglichen und keine Unterschiede gefunden.
 
Zuletzt bearbeitet:

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Was hast denn bei den "PHP extensions" ausgewählt? (letzter Screenshot)

Itari
 

Tagger

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
140
Punkte für Reaktionen
0
Punkte
22
Hab den letzten Screenshot noch hinzugefügt (vergessen).
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Läuft ein phpinfo? Wenn ja, dann post doch noch einmal die Sektion zu mysql (nicht mysqli).

Itari
 

Tagger

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
140
Punkte für Reaktionen
0
Punkte
22
Das ist ja das Problem, PHPINFO liefert KEINE Infos zu MySQL oder mysqli, das fehlt komplett.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Auch nicht im Kopf, wo die Module angeben sind?

Itari
 

Tagger

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
140
Punkte für Reaktionen
0
Punkte
22
Configure Command './configure.syno' '--host=armle-unknown-linux' '--target=armle-unknown-linux' '--build=i686-pc-linux' '--prefix=/usr/syno/php' '--with-apxs2=/usr/local/apache/bin/apxs' '--disable-cgi' '--with-config-file-path=/usr/syno/etc' '--with-config-file-scan-dir=/usr/syno/etc/php' '--with-libxml-dir=/source/libxml2-2.6.32' '--with-zlib=shared,/usr/local/arm-none-linux-gnueabi' '--enable-bcmath=shared' '--enable-calendar=shared' '--with-curl=shared,/usr/syno' '--enable-dba=shared' '--enable-exif=shared' '--enable-ftp=shared' '--with-gd=shared' '--with-jpeg-dir=/usr/local/arm-none-linux-gnueabi' '--with-png-dir=/usr/local/arm-none-linux-gnueabi' '--with-freetype-dir=/usr/syno' '--enable-gd-native-ttf' '--with-gettext=shared' '--with-iconv=shared,/usr/syno/libiconv' '--with-imap=shared,/source/imap-2007e' '--enable-intl=shared' '--with-icu-dir=/source/icu-4.4.1' '--with-ldap=shared,/usr/syno' '--enable-mbstring=shared' '--with-mcrypt=shared,/usr/syno' '--with-mysql=shared,/usr/syno/mysql' '--with-mysqli=shared,/usr/syno/mysql/bin/mysql_config' '--with-openssl=shared,/usr/syno' '--with-pdo-mysql=shared,/usr/syno/mysql' '--with-pdo-pgsql=shared,/usr/syno/pgsql' '--with-pgsql=shared,/usr/syno/pgsql' '--disable-phar' '--enable-shmop=shared' '--enable-soap=shared' '--enable-sockets=shared' '--enable-wddx=shared' '--with-xmlrpc=shared' '--enable-zip=shared'
Nur unter "Configure Command" taucht dort was von mysql und mysqli auf, sonst nirgendwo.

Das ist jetzt sone blöde Idee, aber kann es sein, das statt des user-apachen der system-apache läuft? Dann wäre es schließlich normal, das MySQL nicht verknüpft ist oder liege ich hier falsch. Wie kann man das erkennen. Per "ps apache" sehe ich nur "apache" aber keinen Hinweis welcher.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Du startest doch das phpinfo()-Script im 'web'-Verzeichnis (/volume1/web); da kommt der Systemapache ja gar nicht dran ... Mit ps musste dir die 'httpd'-Zeilen anschauen, das geht mit ps | grep httpd

Itari
 

Tagger

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
140
Punkte für Reaktionen
0
Punkte
22
Ich habe auch noch eine Erweiterung im DSM, die phpinfo() ausführt, beide sind in ihrer Ausgabe bis auf wenige Sachen gleich. Beim System-Apachen kommt noch der SSL-Kram und die Server-Lizenz (Synology) dazu.

So das ist jetzt das Resultat von ps:
Rich (BBCode):
DS409Slim> ps | grep httpd
 1131 nobody   17668 S    /usr/syno/apache/bin/httpd -DSSL
 3249 root     16948 S    /usr/syno/apache/bin/httpd -DSSL -f /usr/syno/apache
 3282 root     17660 S    /usr/syno/apache/bin/httpd -DSSL -f /usr/syno/apache
 3283 root     17076 S    /usr/syno/apache/bin/httpd -DSSL
 3613 root      2944 S    grep httpd
 3879 nobody   17948 S    /usr/syno/apache/bin/httpd -DSSL
 3880 nobody   17676 S    /usr/syno/apache/bin/httpd -DSSL
 3881 nobody   17676 S    /usr/syno/apache/bin/httpd -DSSL
18091 nobody   17816 S    /usr/syno/apache/bin/httpd -DSSL
20617 root     17104 S    /usr/syno/apache/bin/httpd -DSSL -f /usr/syno/apache
22109 root     17372 S    /usr/syno/apache/bin/httpd -DSSL -f /usr/syno/apache
22110 root     17648 S    /usr/syno/apache/bin/httpd -DSSL -f /usr/syno/apache
22112 root     17088 S    /usr/syno/apache/bin/httpd -DSSL -f /usr/syno/apache
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Die Zeilen wo das '-f blah blah' fehlt, sind die User-Apachen-Prozesse (nobody), die anderen sind die System-Apachen. Also da läuft schon alles.

Gib mal 'ls -l /volume1/web'

Itari
 

Tagger

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
140
Punkte für Reaktionen
0
Punkte
22
Gut zu hören und zu wissen. ;)

Hier das ls:

-- deleted.

Außerdem liegt noch eine ".htaccess" mit "Options -Indexes" dort.
 
Zuletzt bearbeitet:

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
wo ist da die Datei index.html und die Datei, wo das phpinfo() drinne steckt??? Du weißt doch, dass du in dem Verzeichnis sonst eine Umleitung bekommst und nichts wirklich mit dem User-Apachen geht .... index.html kann schlicht sein: 'huhu' würde reichen.

Itari
 

Tagger

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
140
Punkte für Reaktionen
0
Punkte
22
Über die vhost-user wird der Server-Root für Zugriffe aus dem lokalen Netz auf "servertest" gesetzt und für die von außen erreichbaren auf die jeweiligen SubDirs, abhängig vom Domainnamen. Also liegt meine test.php mit phpinfo in "servertest" und wird ja auch korrekt ausgeführt.

Hier nochmal die servertest:
Rich (BBCode):
DS409Slim> ls -l /volume1/web/servertest
total 44
-rw-r--r--  1 admin users  549 Feb 12  2010 berechtigungen.php
drwxr-xr-x  5 root  root  4096 Mar 31  2010 bitskin_demo
drwxrwxrwx 14 root  root  4096 Feb 19  2010 frostbite_baker
-rw-r--r--  1 root  root  4837 Mar 19 19:13 index.php
drwxrwxrwx  6 root  root  4096 Feb 25  2010 openengine
drwxr-xr-x  4 root  root  4096 Feb 22  2010 openengine_demo
drwxrwsr-x 10  1013     4 4096 Feb 21  2010 silverstripe
drwxrwxr-x  9 admin users 4096 Feb 10  2010 sqlbuddy
drwxr-xr-x  2 root  root  4096 Mar 16 16:14 test
drwxrwxrwx 13 root  root  4096 Feb 18  2010 wb
 

Tagger

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
140
Punkte für Reaktionen
0
Punkte
22
Habe gerade nochwas interessantes im Admin-Tool entdeckt (Apache->PHP Info). Müssten in der PHP-Section nicht auch die mysql und mysqli module auftauchen?
Rich (BBCode):
[PHP Modules]
Core
ctype
date
dom
ereg
fileinfo
filter
hash
json
libxml
pcre
PDO
pdo_sqlite
posix
Reflection
session
SimpleXML
SPL
SQLite
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
Wenn ich mich recht erinnere, sollten doch auch unter Apache/modules entsprechende mysql module vorhanden sein, oder?
 

Tagger

Benutzer
Mitglied seit
08. Feb 2010
Beiträge
140
Punkte für Reaktionen
0
Punkte
22
Gelöst!

So, habe den Fehler endlich gefunden. Die "php.ini" in "usr/syno/etc" wurde am 11.03. auf eine 0 Byte Größe zurückgesetzt, Keine Ahnung durch wen oder was. Da aber glücklicherweise noch eine Kopie in "usr/syno/etcdefaults" existiert, warum auch immer, konnte ich die alte Datei wiederherstellen. Jetzt läuft wieder alles.

@itari, vielen Dank, wie immer, für deine Mühe!
 
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