2015-07-23 4 views
1

J'ai un site web Elgg fonctionnant sur Ubuntu 12.04 qui a brusquement commencé à produire l'écran blanc de la mort. Aucun changement n'a été apporté aux fichiers PHP, qui fonctionnaient tous juste avant. Ceci est la seule erreur que je reçois dans le apache error.log:Elgg écran blanc: fonction non définie Elgg \ mysql_connect()

[Thu Jul 23 09:45:49.672038 2015] [:error] [pid 6905] [client 127.0.0.1:53280] PHP Fatal error: Call to undefined function Elgg\\mysql_connect() in /var/www/my-website/engine/classes/Elgg/Database.php on line 144 

Apache2 peut charger des pages HTML et PHP et je peux connecter à MySQL depuis la ligne de commande. J'ai redémarré apache2 et mysql. PHP, AFAIK, est à la version la plus récente. J'ai redémarré mon ordinateur et installé les mises à jour les plus récentes. La page de test suivant ne produit rien qui semble hors de l'ordinaire à l'œil non averti:

<?php 
echo "Test!"; 
error_reporting(E_ALL); 
ini_set('display_errors', TRUE); 
ini_set('display_startup_errors', TRUE); 

phpinfo(); 
exit(); 

?> 

This post me fait penser que peut-être une mise à jour a couru et a interrompu la connexion PHP/MySQL, mais je ne peux pas confirmer que . Simpy a mis, je suis perplexe. Étant donné que l'erreur est undefined function Elgg\\mysql_connect(), je présume que quelque chose a mal tourné au niveau de la configuration, mais je n'ai aucune idée de la façon de le réparer ni aucune hypothèse ferme quant à ce qui pourrait l'avoir causé. Que devrais-je essayer ensuite?

Répondre

1

Il s'agit probablement d'un problème d'espace de noms. PHP suppose que son propre API mysql natif est une fonction déclarée à l'intérieur de l'espace de noms Elgg\. Alors, allez à 'Database.php' et en ligne 144 changement:

mysql_connect(); à \mysql_connect();

La barre oblique inverse \ instruira php cette fonction existe en dehors de l'espace de noms Elgg\, ou dans le cadre global.

Vous rencontrerez probablement des problèmes similaires que vous devrez résoudre en utilisant la même méthode que celle décrite ci-dessus.

+0

Le problème s'est résolu avec un autre redémarrage mais comme cela semble plausible, je vais le marquer comme la réponse. Merci pour vos commentaires! –