Bonjour,

Tout d'abord, le sujet que je voudrais évoquer concerne les librairies PEAR pour l'hébergeur tuxfamily.
J'espère que le fait de poster ici n'est pas trop en décalage avec le propos de votre forum.
Le but est de rendre mon site plus dynamique en y insérant un flux RSS. J'ai envoyé à la racine le script PHP "rss.php" :

<?php
// On appelle la librairie DB
require_once "DB.php";

// Connexion à la base puis test de la variable $db
$dsn = "mysql://mon_id_base:mot_de_passe@martini.tf-data.net";
$db = DB::connect($dsn);
if (DB::isError($db)) {
die($db->getMessage());
}


// Récupération et tri des éléments de la table "articles" + test en cas d'erreur
$result = $db->query("SELECT id, author, title, pubDate,
description FROM articles ORDER BY pubDate");
if (DB::isError($result)) {
die($result->getMessage());
}

// S'il y a des articles, on génère le flux RSS
if ($result->numRows() != 0) {

// Envoi de l'en-tête du fichier pour signifier au navigateur qu'il s'agit d'un fichier XML
header("Content-Type: text/xml");

// La variable $xml contiendra le code xml du flux
$xml = '<' . '?xml version="1.0" encoding="ISO-8859-1"?' . '>';

// Traitement du format RSS 2.0
$xml .= '<rss version="2.0">';
$xml .= '<channel>';
$xml .= '<title>Premier flux RSS</title>';
$xml .= '<link>http://art9libre.tuxfamily.org</link>';
$xml .= '<description>Mon premier flux RSS</description>';
$xml .= '<copyright>Copyleft</copyright>';
$xml .= '<managingEditor>Hubert Lombard</managingEditor>';
$xml .= '<webMaster>HL</webMaster>';
$xml .= '<generator>Mon Script PHP</generator>';
$xml .= '<lastBuildDate>' . date("r") . '</lastBuildDate>';
$xml .= '<ttl>1440</ttl>';

// On retrouve ici une instruction conditionnelle. Pour chaque article le script récupère
// les valeurs des champs définis dans la base et les inclue dans les balises XML adéquates
while ($article = $result->fetchRow(DB_FETCHMODE_ASSOC)) {
$xml .= '<item>';
$xml .= '<author>' . stripslashes($article["author"]) . '</author>';
$xml .= '<title>' . stripslashes($article["title"]) . '</title>';
$xml .= '<link>http://art9libre.tuxfamily.org/auteurs/' . $article["id"] . '.html</link>';
$xml .= '<pubDate>' . date("r",$article["pubDate"]) . '</pubDate>';
$xml .= '<guid>http://art9libre.tuxfamily.org/auteurs/' . $article["id"] . '.html</guid>';
$xml .= '<description>' .stripslashes($article["description"]) . '</description>';
$xml .= '</item>';
}

$xml .= '</channel>';
$xml .= '</rss>';
echo $xml;
}
?>

A l'adresse voulue, firefox me renvoie les messages d'erreur suivants :

Warning: main(): open_basedir restriction in effect. File(/usr/share/php/DB.php) is not within the allowed path(s): (/data/web) in /data/web/e5/dd/7c/art9libre.tuxfamily.org/htdocs/rss.php on line 3

Warning: main(DB.php): failed to open stream: Operation not permitted in /data/web/e5/dd/7c/art9libre.tuxfamily.org/htdocs/rss.php on line 3

Fatal error: main(): Failed opening required 'DB.php' (include_path='.:/usr/share/php:/usr/share/pear') in /data/web/e5/dd/7c/art9libre.tuxfamily.org/htdocs/rss.php on line 3

Ma question est : comment faire pour que "DB.php" fonctionne chez tuxfamily ?
Je pensai dans un premier temps qu'il me suffirait d'envoyer pear dans un dossier 'include' à la racine du site, mais il semble que pour tuxfamily ce soit un peu différent...

Merci d'avance pour vos éclaircissements.

Hubert

http://art9libre.tuxfamily.org/auteurs/
OS : Linux ubuntu dapper drake[code]
Modifié par gonzolero (01 Dec 2006 - 20:27)
Administrateur
Bonjour et bienvenue parmi nous Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien qui apparaît en bandeau tout en haut du forum ("Nouveau sur le forum ?...") est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.

Bonne continuation Smiley smile

upload/1-code.gif
Bonjour Raphael,

Merci de m'avoir répondu Smiley cligne . Concernant la visibilité du code, j'ai cru l'avoir bien isolé mais j'ai dû bien mal m'y prendre... Je vais suivre les recommandations suggérées en espérant ne pas trop y contrevenir !

Tout d'abord, le sujet que j'évoque ici concerne les librairies PEAR pour l'hébergeur tuxfamily.
Le but est de rendre mon site plus dynamique en y insérant un flux RSS. J'ai envoyé à la racine le script PHP "rss.php" suivant :
<?php
// On appelle la librairie DB
require_once "DB.php";

// Connexion à la base puis test de la variable $db 
$dsn = "mysql://bdlibre_art9libre:ink7s4deN@martini.tf-data.net";
$db = DB::connect($dsn);
if (DB::isError($db)) {
	die($db->getMessage());
}


// Récupération et tri des éléments de la table "articles" + test en cas d'erreur
$result = $db->query("SELECT id, author, title, pubDate,
description FROM articles ORDER BY pubDate");
if (DB::isError($result)) {
	die($result->getMessage());
}

// S'il y a des articles, on génère le flux RSS
if ($result->numRows() != 0) {

// Envoi de l'en-tête du fichier pour signifier au navigateur qu'il s'agit d'un fichier XML
	header("Content-Type: text/xml");
	
// La variable $xml contiendra le code xml du flux
$xml = '<' . '?xml version="1.0" encoding="ISO-8859-1"?' . '>';

// Traitement du format RSS 2.0
$xml .= '<rss version="2.0">';
$xml .= '<channel>';
$xml .= '<title>Premier flux RSS</title>';
$xml .= '<link>http://art9libre.tuxfamily.org</link>';
$xml .= '<description>Mon premier flux RSS</description>';
$xml .= '<copyright>Copyleft</copyright>';
$xml .= '<managingEditor>Hubert Lombard</managingEditor>';
$xml .= '<webMaster>HL</webMaster>';
$xml .= '<generator>Mon Script PHP</generator>';
$xml .= '<lastBuildDate>' . date("r") . '</lastBuildDate>';
$xml .= '<ttl>1440</ttl>';

// On retrouve ici une instruction 	 conditionnelle. Pour chaque article le script récupère
// les valeurs des champs définis dans la base et les inclue dans les balises XML adéquates
while ($article = $result->fetchRow(DB_FETCHMODE_ASSOC)) {
$xml .= '<item>';
$xml .= '<author>' . stripslashes($article["author"]) . '</author>';
$xml .= '<title>' . stripslashes($article["title"]) . '</title>';
$xml .= '<link>http://art9libre.tuxfamily.org/auteurs/' . $article["id"] . '.html</link>';
$xml .= '<pubDate>' . date("r",$article["pubDate"]) . '</pubDate>';
$xml .= '<guid>http://art9libre.tuxfamily.org/auteurs/' . $article["id"] . '.html</guid>';
$xml .= '<description>' .stripslashes($article["description"]) . '</description>';
$xml .= '</item>';
}

$xml .= '</channel>';
$xml .= '</rss>';
echo $xml; 
}
?>

A l'adresse voulue, firefox me renvoie les messages d'erreur suivants :
Warning: main(): open_basedir restriction in effect. File(/usr/share/php/DB.php) is not within the allowed path(s): (/data/web) in /data/web/e5/dd/7c/art9libre.tuxfamily.org/htdocs/rss.php on line 3

Warning: main(DB.php): failed to open stream: Operation not permitted in /data/web/e5/dd/7c/art9libre.tuxfamily.org/htdocs/rss.php on line 3

Fatal error: main(): Failed opening required 'DB.php' (include_path='.:/usr/share/php:/usr/share/pear') in /data/web/e5/dd/7c/art9libre.tuxfamily.org/htdocs/rss.php on line 3

Comment pourrais-je m'y prendre pour que "DB.php" fonctionne chez tuxfamily ?
Je pensai dans un premier temps qu'il me suffirait d'envoyer pear dans un dossier 'include' à la racine du site, mais il semble que pour tuxfamily ce soit un peu différent...

Merci d'avance pour vos éclaircissements.

Hubert

http://art9libre.tuxfamily.org/auteurs/
OS : Linux ubuntu dapper drake
Bonsoir à tous,

Finalement, j'ai abandonné ce travail (cette étude) vis-à-vis desquels de nombreuses heures de réflexion ne suffirent pas à résoudre le problème...
Dans l'affaire j'ai tout de même réussi à installer mon propre flux rss sur le site de BD libre qui est le mien.
Merci à tous ceux qui m'ont lu, bravo pour ce forum des standards et peut-être (sûrement) à bientôt pour de nouvelles aventures Smiley smile

--
Hub (alias Gonzolero,alias El Dream Machine ... etc)
http://art9libre.tuxfamily.org