Apache2, PHP, MySQL: Can't connect to socket.

Pagina: 1
Acties:

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 16-08 20:53
Ik krijg bij mijn webpagina's met apache2 te zien:
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

Dit is vreemd, omdat ik in mijn PHP pagina's verwijs naar "localhost" en niet naar een socket.
Deze foutmelding komt ook alleen bij Apache2: Ik wil vanaf apache1 naar 2 toe migreren, en heb daartoe apache2 geinstalleerd die luisterd op poort 81 en 444 ipv 80 en 443. Normale webpagina's werken wel juist, PHPinfo kan ik ook opvragen.

PHP 5.04 heb ik opnieuw gecompileerd tegen apache2. Opties:
./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--disable-debug \
--enable-ftp \
--enable-inline-optimization \
--enable-mbstring \
--enable-mm=shared \
--enable-safe-mode \
--enable-track-vars \
--enable-trans-sid \
--enable-wddx=shared \
--enable-xml \
--with-dom \
--with-gd \
--with-gettext \
--with-mysql=/usr/local/mysql \
--with-regex=system \
--with-xml \
--with-zlib-dir=/usr/lib \
--prefix=/usr/local/php

Ik compileer met (bijna) dezelfde regel ook voor Apache1. Beide als module bij Apache.

Heeft iemand enig idee hoe is dit kan oplossen, en waarom mijn Apache1 nog prima werkt, maar Apache2 niet wil? Enige maanden geleden heb ik ook deze configuratie gehad met Apache2 maar zag er toen nog even vanaf om over te stappen, en toen werkte alles wél goed!

Alvast bedankt!

edit:
Overigens staat mijn socket zelfs in /tmp, dus heeft bovenstaande nooit zin. In PHP kan het eigenlijk niet zitten omdat dat bij apache1 immers wel goed werkt.

edit2:
Ik kán het probleem oplossen door in php.ini het default socket aan te passen, maar dat wíl ik niet omdat ik 2 mysql servers heb draaien op de machine! Het lijkt alsof PHP alles wat naar "localhost" verwijst via een socket laat connecten ipv gewoon naar localhost! Bij apache1 gebeurd dat niet. Als ik nu zou overstappen, betekend dat dat heel veel sites niet meer zullen werken, en dat socket neerzetten zou niet werken omdat dat niet werkt voor site's die van de 2e mysql database gebruik maken.

edit3:
Als ik bij de scripts ipv "localhost" opgeeft: "127.0.0.1" dan werkt het ook prima (met in de php.ini de default socket weer uitgezet).
Heb ik een bug gevonden in PHP? Of ligt het ergens anders?

edit4:
PHP 5.05 geeft dezelfde problemen. Maar nu nog erger: Omdat ik php5.05 ook voor de oude apache1 heb gecompileerd en geinstalleerd: Die geeft de fout nu ook! Ik heb het default socket nu naar 1 database staan, maar dit geeft me enorm veel problemen... Ik heb naar mijn weten de configuratieopties van PHP helemaal niet gewijzigd!

[ Voor 41% gewijzigd door pierre-oord op 30-09-2005 17:48 ]

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)