Forum Eurower.com Index du Forum

Forum Eurower.com
Bienvenue sur le forum de Eurower
 
 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

PHP en mode CGI
Aller à la page Précédente  1, 2, 3  Suivante
 
Poster un nouveau sujet   Répondre au sujet    Forum Eurower.com Index du Forum -> Service WEB sur .NET
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
eurower
Site Admin


Inscrit le: 03 Jan 2002
Messages: 1458
Localisation: Lyon

MessagePosté le: Lun Avr 25, 2005 01:02    Sujet du message: Répondre en citant

Oui, avec CGI vos scripts sont exécutés avec vos droits et nons plus ceux du serveur web "apache" !
_________________
Modérateur des forums
Président de l'association

Hébergement eurower.net
Association loi 1901
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
eurower
Site Admin


Inscrit le: 03 Jan 2002
Messages: 1458
Localisation: Lyon

MessagePosté le: Lun Avr 25, 2005 21:49    Sujet du message: Répondre en citant

18/04/05 1h06: PHP5 en CGI (avec les options) est OK pour les sites par défaut (identifiant.eurower.net)
24/04/05 19h30: PHP5 en CGI (avec les options) est OK pour les sous-domaines (www.domaine.com)
24/04/05 19h55: PHP5 en CGI (avec les options) est OK pour les sous-domaines .NET supplémentaires

25/04/05 21h50: PHP4 en CGI (avec les options) est OK pour les sites par défaut (identifiant.eurower.net)
25/04/05 22h00: PHP4 en CGI (avec les options) est OK pour les sous-domaines (www.domaine.com)
25/04/05 22h04: PHP4 en CGI (avec les options) est OK pour les sous-domaines .NET supplémentaires

Comment savoir si un script utilise PHP 5 ou 4 ou CLI ou CGI ?
Placez dans un script:
Code:
<?=phpinfo()?>

Tout en haut, se trouve la version de PHP (4 ou 5)
A la ligne "Server API", si c'est écrit "CGI", alors c'est CGI
A la ligne "Server API", si c'est écrit "Apache 2.0 Handler", alors c'est CLI

Ce post est édité en fonction de l'évolution de cette partie
_________________
Modérateur des forums
Président de l'association

Hébergement eurower.net
Association loi 1901


Dernière édition par eurower le Lun Avr 25, 2005 22:05; édité 1 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Altdorf



Inscrit le: 26 Mai 2004
Messages: 547
Localisation: Doubs (25)

MessagePosté le: Lun Avr 25, 2005 22:04    Sujet du message: Répondre en citant

Comment savoir si je suis en PHP4? En allant dans mon Panneau d'Admin phpBB. Et ça refonctionne Very Happy
Merci beaucoup Wink
_________________
http://www.lanparty.fr/
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
eurower
Site Admin


Inscrit le: 03 Jan 2002
Messages: 1458
Localisation: Lyon

MessagePosté le: Lun Avr 25, 2005 22:08    Sujet du message: Répondre en citant

Laughing c'était bien PHP5 qui foirait alors Wink

Bon, il est 22h06, tous les CGI php5 et php4 sont désormais ok

Et contrairement a ce qui était écrit sur votre Manager, activer un mode CGI ne consomme plus 7Mo de votre espace disque Very Happy

Je rappel donc que le mode CGI fait exécuter vos scripts avec vos droits d'hébergés et non plus les droits du serveur web "apache" !

Donc vos scripts peuvent tout faire sur votre compte !
_________________
Modérateur des forums
Président de l'association

Hébergement eurower.net
Association loi 1901
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Altdorf



Inscrit le: 26 Mai 2004
Messages: 547
Localisation: Doubs (25)

MessagePosté le: Lun Avr 25, 2005 22:29    Sujet du message: Répondre en citant

Ce n'est pas PHP5 qui déconne, c'est phpBB qui n'est pas compatible à 100%.

Petit soucis, je ne sait pas si c'est lié, mes stats ne s'affichent plus : http://www.lanparty.fr/stats2/

Code:
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, server_altdorf@eurower.net and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
Apache Server at www.lanparty.fr Port 80

_________________
http://www.lanparty.fr/
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
eurower
Site Admin


Inscrit le: 03 Jan 2002
Messages: 1458
Localisation: Lyon

MessagePosté le: Lun Avr 25, 2005 22:33    Sujet du message: Répondre en citant

Ah oui, c vré, je m'en oqp !

Sinon oui, c lié !

En fait comme les CGI sont exécutés avec vos droits, bah les stats ne sont plus accessibles Smile

Let's go ...
_________________
Modérateur des forums
Président de l'association

Hébergement eurower.net
Association loi 1901
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Altdorf



Inscrit le: 26 Mai 2004
Messages: 547
Localisation: Doubs (25)

MessagePosté le: Lun Avr 25, 2005 22:37    Sujet du message: Répondre en citant

lol
ok merci beaucoup
_________________
http://www.lanparty.fr/
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Altdorf



Inscrit le: 26 Mai 2004
Messages: 547
Localisation: Doubs (25)

MessagePosté le: Lun Avr 25, 2005 22:49    Sujet du message: Répondre en citant

Tiens autre soucis :
Alors que je suis très heureux que mon panneau d'admin refonctionne et que j'en informe tous les membres par mail, surgit de phpBB : Erreur Générale
Code:
 Failed sending email :: PHP ::

DEBUG MODE
Line : 234
File : /home/a/altdorf/user/www/lanparty/includes/emailer.php

_________________
http://www.lanparty.fr/
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
eurower
Site Admin


Inscrit le: 03 Jan 2002
Messages: 1458
Localisation: Lyon

MessagePosté le: Lun Avr 25, 2005 23:14    Sujet du message: Répondre en citant

Il faudrait plus d'infos sur l'erreur !
_________________
Modérateur des forums
Président de l'association

Hébergement eurower.net
Association loi 1901
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Altdorf



Inscrit le: 26 Mai 2004
Messages: 547
Localisation: Doubs (25)

MessagePosté le: Lun Avr 25, 2005 23:16    Sujet du message: Répondre en citant

C'est tout ce que j'ai, ça s'affiche dans phpBB lorsque j'envoie un mail aux memebres.

Sinon voici le fichier en question :
Code:
<?php
/***************************************************************************
                                emailer.php
                             -------------------
    begin                : Sunday Aug. 12, 2001
    copyright            : (C) 2001 The phpBB Group
    email                : support@phpbb.com

    $Id: emailer.php,v 1.15.2.33 2003/07/18 16:34:01 acydburn Exp $

***************************************************************************/

/***************************************************************************
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 ***************************************************************************/

//
// The emailer class has support for attaching files, that isn't implemented
// in the 2.0 release but we can probable find some way of using it in a future
// release
//
class emailer
{
   var $msg, $subject, $extra_headers;
   var $addresses, $reply_to, $from;
   var $use_smtp;

   var $tpl_msg = array();

   function emailer($use_smtp)
   {
      $this->reset();
      $this->use_smtp = $use_smtp;
      $this->reply_to = $this->from = '';
   }

   // Resets all the data (address, template file, etc etc to default
   function reset()
   {
      $this->addresses = array();
      $this->vars = $this->msg = $this->extra_headers = '';
   }

   // Sets an email address to send to
   function email_address($address)
   {
      $this->addresses['to'] = trim($address);
   }

   function cc($address)
   {
      $this->addresses['cc'][] = trim($address);
   }

   function bcc($address)
   {
      $this->addresses['bcc'][] = trim($address);
   }

   function replyto($address)
   {
      $this->reply_to = trim($address);
   }

   function from($address)
   {
      $this->from = trim($address);
   }

   // set up subject for mail
   function set_subject($subject = '')
   {
      $this->subject = trim(preg_replace('#[\n\r]+#s', '', $subject));
   }

   // set up extra mail headers
   function extra_headers($headers)
   {
      $this->extra_headers .= trim($headers) . "\n";
   }

   function use_template($template_file, $template_lang = '')
   {
      global $board_config, $phpbb_root_path;

      if (trim($template_file) == '')
      {
         message_die(GENERAL_ERROR, 'No template file set', '', __LINE__, __FILE__);
      }

      if (trim($template_lang) == '')
      {
         $template_lang = $board_config['default_lang'];
      }

      if (empty($this->tpl_msg[$template_lang . $template_file]))
      {
         $tpl_file = $phpbb_root_path . 'language/lang_' . $template_lang . '/email/' . $template_file . '.tpl';

         if (!@file_exists(@phpbb_realpath($tpl_file)))
         {
            $tpl_file = $phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/email/' . $template_file . '.tpl';

            if (!@file_exists(@phpbb_realpath($tpl_file)))
            {
               message_die(GENERAL_ERROR, 'Could not find email template file :: ' . $template_file, '', __LINE__, __FILE__);
            }
         }

         if (!($fd = @fopen($tpl_file, 'r')))
         {
            message_die(GENERAL_ERROR, 'Failed opening template file :: ' . $tpl_file, '', __LINE__, __FILE__);
         }

         $this->tpl_msg[$template_lang . $template_file] = fread($fd, filesize($tpl_file));
         fclose($fd);
      }

      $this->msg = $this->tpl_msg[$template_lang . $template_file];

      return true;
   }

   // assign variables
   function assign_vars($vars)
   {
      $this->vars = (empty($this->vars)) ? $vars : $this->vars . $vars;
   }

   // Send the mail out to the recipients set previously in var $this->address
   function send()
   {
      global $board_config, $lang, $phpEx, $phpbb_root_path, $db;

       // Escape all quotes, else the eval will fail.
      $this->msg = str_replace ("'", "\'", $this->msg);
      $this->msg = preg_replace('#\{([a-z0-9\-_]*?)\}#is', "' . $\\1 . '", $this->msg);

      // Set vars
      reset ($this->vars);
      while (list($key, $val) = each($this->vars))
      {
         $$key = $val;
      }

      eval("\$this->msg = '$this->msg';");

      // Clear vars
      reset ($this->vars);
      while (list($key, $val) = each($this->vars))
      {
         unset($$key);
      }

      // We now try and pull a subject from the email body ... if it exists,
      // do this here because the subject may contain a variable
      $drop_header = '';
      $match = array();
      if (preg_match('#^(Subject:(.*?))$#m', $this->msg, $match))
      {
         $this->subject = (trim($match[2]) != '') ? trim($match[2]) : (($this->subject != '') ? $this->subject : 'No Subject');
         $drop_header .= '[\r\n]*?' . phpbb_preg_quote($match[1], '#');
      }
      else
      {
         $this->subject = (($this->subject != '') ? $this->subject : 'No Subject');
      }

      if (preg_match('#^(Charset:(.*?))$#m', $this->msg, $match))
      {
         $this->encoding = (trim($match[2]) != '') ? trim($match[2]) : trim($lang['ENCODING']);
         $drop_header .= '[\r\n]*?' . phpbb_preg_quote($match[1], '#');
      }
      else
      {
         $this->encoding = trim($lang['ENCODING']);
      }

      if ($drop_header != '')
      {
         $this->msg = trim(preg_replace('#' . $drop_header . '#s', '', $this->msg));
      }

      $to = $this->addresses['to'];

      $cc = (count($this->addresses['cc'])) ? implode(', ', $this->addresses['cc']) : '';
      $bcc = (count($this->addresses['bcc'])) ? implode(', ', $this->addresses['bcc']) : '';

      // Build header
      $this->extra_headers = (($this->reply_to != '') ? "Reply-to: $this->reply_to\n" : '') . (($this->from != '') ? "From: $this->from\n" : "From: " . $board_config['board_email'] . "\n") . "Return-Path: " . $board_config['board_email'] . "\nMessage-ID: <" . md5(uniqid(time())) . "@" . $board_config['server_name'] . ">\nMIME-Version: 1.0\nContent-type: text/plain; charset=" . $this->encoding . "\nContent-transfer-encoding: 8bit\nDate: " . date('r', time()) . "\nX-Priority: 3\nX-MSMail-Priority: Normal\nX-Mailer: PHP\nX-MimeOLE: Produced By phpBB2\n" . $this->extra_headers . (($cc != '') ? "Cc: $cc\n" : '')  . (($bcc != '') ? "Bcc: $bcc\n" : '');

      // Send message ... removed $this->encode() from subject for time being
      if ( $this->use_smtp )
      {
         if ( !defined('SMTP_INCLUDED') )
         {
            include($phpbb_root_path . 'includes/smtp.' . $phpEx);
         }

         $result = smtpmail($to, $this->subject, $this->msg, $this->extra_headers);
      }
      else
      {
         $empty_to_header = ($to == '') ? TRUE : FALSE;
         $to = ($to == '') ? (($board_config['sendmail_fix']) ? ' ' : 'Undisclosed-recipients:;') : $to;
   
         $result = @mail($to, $this->subject, preg_replace("#(?<!\r)\n#s", "\n", $this->msg), $this->extra_headers);
         
         if (!$result && !$board_config['sendmail_fix'] && $empty_to_header)
         {
            $to = ' ';

            $sql = "UPDATE " . CONFIG_TABLE . "
               SET config_value = '1'
               WHERE config_name = 'sendmail_fix'";
            if (!$db->sql_query($sql))
            {
               message_die(GENERAL_ERROR, 'Unable to update config table', '', __LINE__, __FILE__, $sql);
            }

            $board_config['sendmail_fix'] = 1;
            $result = @mail($to, $this->subject, preg_replace("#(?<!\r)\n#s", "\n", $this->msg), $this->extra_headers);
         }
      }

      // Did it work?
      if (!$result)
      {
         message_die(GENERAL_ERROR, 'Failed sending email :: ' . (($this->use_smtp) ? 'SMTP' : 'PHP') . ' :: ' . $result, '', __LINE__, __FILE__);
      }

      return true;
   }

   // Encodes the given string for proper display for this encoding ... nabbed
   // from php.net and modified. There is an alternative encoding method which
   // may produce lesd output but it's questionable as to its worth in this
   // scenario IMO
   function encode($str)
   {
      if ($this->encoding == '')
      {
         return $str;
      }

      // define start delimimter, end delimiter and spacer
      $end = "?=";
      $start = "=?$this->encoding?B?";
      $spacer = "$end\r\n $start";

      // determine length of encoded text within chunks and ensure length is even
      $length = 75 - strlen($start) - strlen($end);
      $length = floor($length / 2) * 2;

      // encode the string and split it into chunks with spacers after each chunk
      $str = chunk_split(base64_encode($str), $length, $spacer);

      // remove trailing spacer and add start and end delimiters
      $str = preg_replace('#' . phpbb_preg_quote($spacer, '#') . '$#', '', $str);

      return $start . $str . $end;
   }

   //
   // Attach files via MIME.
   //
   function attachFile($filename, $mimetype = "application/octet-stream", $szFromAddress, $szFilenameToDisplay)
   {
      global $lang;
      $mime_boundary = "--==================_846811060==_";

      $this->msg = '--' . $mime_boundary . "\nContent-Type: text/plain;\n\tcharset=\"" . $lang['ENCODING'] . "\"\n\n" . $this->msg;

      if ($mime_filename)
      {
         $filename = $mime_filename;
         $encoded = $this->encode_file($filename);
      }

      $fd = fopen($filename, "r");
      $contents = fread($fd, filesize($filename));

      $this->mimeOut = "--" . $mime_boundary . "\n";
      $this->mimeOut .= "Content-Type: " . $mimetype . ";\n\tname=\"$szFilenameToDisplay\"\n";
      $this->mimeOut .= "Content-Transfer-Encoding: quoted-printable\n";
      $this->mimeOut .= "Content-Disposition: attachment;\n\tfilename=\"$szFilenameToDisplay\"\n\n";

      if ( $mimetype == "message/rfc822" )
      {
         $this->mimeOut .= "From: ".$szFromAddress."\n";
         $this->mimeOut .= "To: ".$this->emailAddress."\n";
         $this->mimeOut .= "Date: ".date("D, d M Y H:i:s") . " UT\n";
         $this->mimeOut .= "Reply-To:".$szFromAddress."\n";
         $this->mimeOut .= "Subject: ".$this->mailSubject."\n";
         $this->mimeOut .= "X-Mailer: PHP/".phpversion()."\n";
         $this->mimeOut .= "MIME-Version: 1.0\n";
      }

      $this->mimeOut .= $contents."\n";
      $this->mimeOut .= "--" . $mime_boundary . "--" . "\n";

      return $out;
      // added -- to notify email client attachment is done
   }

   function getMimeHeaders($filename, $mime_filename="")
   {
      $mime_boundary = "--==================_846811060==_";

      if ($mime_filename)
      {
         $filename = $mime_filename;
      }

      $out = "MIME-Version: 1.0\n";
      $out .= "Content-Type: multipart/mixed;\n\tboundary=\"$mime_boundary\"\n\n";
      $out .= "This message is in MIME format. Since your mail reader does not understand\n";
      $out .= "this format, some or all of this message may not be legible.";

      return $out;
   }

   //
   // Split string by RFC 2045 semantics (76 chars per line, end with \r\n).
   //
   function myChunkSplit($str)
   {
      $stmp = $str;
      $len = strlen($stmp);
      $out = "";

      while ($len > 0)
      {
         if ($len >= 76)
         {
            $out .= substr($stmp, 0, 76) . "\r\n";
            $stmp = substr($stmp, 76);
            $len = $len - 76;
         }
         else
         {
            $out .= $stmp . "\r\n";
            $stmp = "";
            $len = 0;
         }
      }
      return $out;
   }

   //
   // Split the specified file up into a string and return it
   //
   function encode_file($sourcefile)
   {
      if (is_readable(phpbb_realpath($sourcefile)))
      {
         $fd = fopen($sourcefile, "r");
         $contents = fread($fd, filesize($sourcefile));
         $encoded = $this->myChunkSplit(base64_encode($contents));
         fclose($fd);
      }

      return $encoded;
   }

} // class emailer

?>

_________________
http://www.lanparty.fr/
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Altdorf



Inscrit le: 26 Mai 2004
Messages: 547
Localisation: Doubs (25)

MessagePosté le: Lun Avr 25, 2005 23:22    Sujet du message: Répondre en citant

La notification de réponse à un sujet par mail fonctionne en tout cas.
_________________
http://www.lanparty.fr/
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Altdorf



Inscrit le: 26 Mai 2004
Messages: 547
Localisation: Doubs (25)

MessagePosté le: Lun Avr 25, 2005 23:48    Sujet du message: Répondre en citant

Si j'envoie un mail à un groupe à l'aide du même MOD ça fonctionne.
J'ai l'erreur quand j'envoie à tous les membres et j'en ai 98. Y a t'il une limite de destinataires pour l'envoie de mails via la fonction mail() ou smtpmail() ?
_________________
http://www.lanparty.fr/
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Altdorf



Inscrit le: 26 Mai 2004
Messages: 547
Localisation: Doubs (25)

MessagePosté le: Mar Avr 26, 2005 00:27    Sujet du message: Répondre en citant

Si je limite a 2 destinataires par mail ça passe. Quel est la limite maxi que je peux utiliser?
_________________
http://www.lanparty.fr/
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
eurower
Site Admin


Inscrit le: 03 Jan 2002
Messages: 1458
Localisation: Lyon

MessagePosté le: Mar Avr 26, 2005 10:23    Sujet du message: Répondre en citant

Merci de ne pas inclure de si grands fichiers sur les forums Confused

Normalement, pour envoyer des mails, le mieux c une boucle !

debut boucle pour chaque destinataire
envoyer le mail au destinataire actuel
fin boucle

Le serveur SMTP refuse en effet plus de 50 destinataires par message !
_________________
Modérateur des forums
Président de l'association

Hébergement eurower.net
Association loi 1901
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Altdorf



Inscrit le: 26 Mai 2004
Messages: 547
Localisation: Doubs (25)

MessagePosté le: Mar Avr 26, 2005 10:53    Sujet du message: Répondre en citant

Désolé pour le fichier, je pensait que c'étais nécessaire...
Etant donné la complexité du MOD pour envoyer les mails en masse que j'utilise dans phpBB et mes connaissances médiocres en PHP, je ne vais pas reprogrammer. Mais heureusement on peux paramétrer le nombre de destinataires par mail envoyé et il envoie autant de mails que nécessaire... Donc je vais paramétrer sur 50. Mais c'est bizar partceque j'ai testé avec 20 et ça ne marchait pas Confused et maintenant que mon message est parti 2 fois je ne peux plus tester...
_________________
http://www.lanparty.fr/
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Forum Eurower.com Index du Forum -> Service WEB sur .NET Toutes les heures sont au format GMT + 2 Heures
Aller à la page Précédente  1, 2, 3  Suivante
Page 2 sur 3

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com