Submitted by jean-marc on
Bonjour à tous
J'ai un peu galérer pour l'installation sur 1and1, alors je vous donne la solution pour que tout se passe bien :
- dézipper la version de drupal dans un répertoire (c:\drupal par exemple :-) )
- dézipper la traduction de drupal en français dans le même répertoire
- aller dans c:\drupal\site\default et dupliquer (et non pas renommer) default.settings.php en default.php
- modifier le fichier .htaccess du répertoire principal (c:\drupal dans notre exemple) et ajouter la ligne suivante :
SetEnv REGISTER_GLOBALS 0
de plus modifier la ligne :
php_value register_globals 0
par :
php_value register_globals off
dans le paragraphe :
PHP 5, Apache 1 and 2.
et voilà, y'a plus qu'a transférer et à ouvrir votre site pour lancer l'installation
C'est la meme chose chez la
Permalien Soumis par elrems le 27 Juillet, 2009 - 16:41
C'est la meme chose chez la plupart des prestataires :
je vous conseille cet excellent article :
http://blog.christophelebot.fr/2008/04/19/drupal-6-ovh/
Malheureusement cela ne
Permalien Soumis par rvbcocardes le 27 Juillet, 2009 - 22:33
Malheureusement cela ne règle pas le problème d'impossibilité de connexion à la base de données dans le cas d'un hébergement sur serveur dédié 1and1.
Quand on entre localhost:/tmp/mysql5.sock en serveur on a :
Impossible de se connecter à votre serveur MySQL. MySQL a répondu : Unknown MySQL server host 'localhost:/tmp/mysql5.sock' (1).
et quand on entre localhost comme serveur de bd on a :
Impossible de se connecter à votre serveur MySQL. MySQL a répondu : Access denied for user: 'dbo292717913@localhost' (Using password: YES).
pourtant j'ai fait un petit fichier test avec le script :
et ce dernier se connecte parfaitement.
Alors quelle solution ?
la déclaration de localhost:/tmp/mysql5.sock comme variable $db_host dans le fichier install.php n'y change rien.
Si quelqu'un a une idée... pour résoudre ce problème de socket non pris en charge par le script du fichier install... je suis preneur ! Merci d'avance.
regarde ce post :
Permalien Soumis par elrems le 27 Juillet, 2009 - 23:36
regarde ce post :
http://drupal.org/node/7620
j'aime pas trop c'est un "hack" sinon tu peux peut etre créer un nouveau connecteur personnel c'est plus propre
In the file includes/database.mysql.inc change the db_connect function as follows:
function db_connect($url) {
$url = parse_url($url);
// Allow for non-standard MySQL port.
if (isset($url['port'])) {
$url['host'] = $url['host'] .':'. $url['port'];
}
/** Added to allow socket file in path; last path element becomes DB name *****/
$p = explode('/', $url['path'] );
$plen = count($p);
if ($plen > 1) {
$url['path'] = '/' . array_pop($p);
$url['host'] = $url['host'] .':'. join('/', $p);
}
/***********************************/
$connection = mysql_connect($url['host'], $url['user'], $url['pass'], TRUE) or die(mysql_error());
mysql_select_db(substr($url['path'], 1)) or die('unable to select database');
return $connection;
}
Then in your /sites/default/settings.php file you use a DB URL string like mysql://username:password@localhost:/path/to/socket/dbname. (The last element of the path is the database name).
In my case the socket is in my user home folder, so I did this:
$mysql_socket = $_ENV["HOME"] . "/mysql/socket";
$db_url = 'mysql://username:password@localhost' . $mysql_socket . '/drupal';
$db_prefix = '';
autre solution : url
Permalien Soumis par elrems le 27 Juillet, 2009 - 23:36
autre solution :
url encoder ton paramètre dans le fichier de conf
$db_url = 'mysql://user:password@localhost%3Aport%3A%2Fpath%2Fto%2Fsocket%2Ffile/database';
dernière je ne sais pas si
Permalien Soumis par elrems le 27 Juillet, 2009 - 23:38
dernière je ne sais pas si c'est possible sur 1&1 :
surcharger la variable d'environnement ou bien :
editer le fichier php.ini
chager le paramètre :
mysql.defautl_socket =
en
mysql.default_socket = /full/path/tol/mysql.sock
Je vais regarder tout ça
Permalien Soumis par rvbcocardes le 27 Juillet, 2009 - 23:47
Je vais regarder tout ça demain. Nota : il est impossible de toucher le php.ini chez 1and1.
Merci beaucoup pour ces pistes.
OK, cela fonctionne
Permalien Soumis par rvbcocardes le 30 Juillet, 2009 - 01:00
OK, cela fonctionne parfaitement en intégrant le path/to/socket directement dans le fichier de configuration.
merci beaucoup !
Peux tu décrire ce que tu
Permalien Soumis par elrems le 30 Juillet, 2009 - 09:05
Peux tu décrire ce que tu as fait concretement? cela aidera les drupaliens
n'hésite pas à mettre un copier coller de ton fichier "settings.php"
Bonjour, il suffit
Permalien Soumis par rvbcocardes le 30 Juillet, 2009 - 23:38
Bonjour, il suffit d'insérer cette ligne à la place de la ligne originale de default-settings.php et de settings.php dans sites/default/
procédure :
commenter :
$db_url = 'mysql://user:password@localhost/database';
puis écrire :
$db_url = 'mysql://user:password@localhost%3Aport%3A%2Fpath%2Fto%2Fsocket%2Ffile/database';
en remplaçant par les bonnes valeurs user, password, chemin du socket et nom de la bd.
c'est tout.
Dans le cas d'un serveur dédié 1and1 la ligne est sous la forme :
$db_url = 'mysql://dboXXXXXXXXX:********@localhost%3aport%3a%2ftmp%2fmysql5.sock/dbXXXXXXXXX';
En testant avec mysqli il
Permalien Soumis par elrems le 13 Août, 2009 - 00:27
En testant avec mysqli
il faut faire autrement :
j'ai patché drupal : les fichiers :
/includes/database.mysqli.inc et
/includes/install.mysqli.inc
$connection = mysqli_init();
@mysqli_real_connect($connection, $url['host'], $url['user'], $url['pass'], substr($url['path'], 1), $url['port'], '<b>/tmp/mysql5.sock</b>', MYSQLI_CLIENT_FOUND_ROWS);
http://elrems.wordpress.com