|
Forum Eurower.com Bienvenue sur le forum de Eurower
|
Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
eurower Site Admin
Inscrit le: 03 Jan 2002 Messages: 1458 Localisation: Lyon
|
Posté le: Lun Avr 25, 2005 01:02 Sujet du message: |
|
|
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 |
|
|
eurower Site Admin
Inscrit le: 03 Jan 2002 Messages: 1458 Localisation: Lyon
|
Posté le: Lun Avr 25, 2005 21:49 Sujet du message: |
|
|
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:
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 |
|
|
Altdorf
Inscrit le: 26 Mai 2004 Messages: 547 Localisation: Doubs (25)
|
Posté le: Lun Avr 25, 2005 22:04 Sujet du message: |
|
|
Comment savoir si je suis en PHP4? En allant dans mon Panneau d'Admin phpBB. Et ça refonctionne
Merci beaucoup _________________ http://www.lanparty.fr/ |
|
Revenir en haut de page |
|
|
eurower Site Admin
Inscrit le: 03 Jan 2002 Messages: 1458 Localisation: Lyon
|
Posté le: Lun Avr 25, 2005 22:08 Sujet du message: |
|
|
c'était bien PHP5 qui foirait alors
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
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 |
|
|
Altdorf
Inscrit le: 26 Mai 2004 Messages: 547 Localisation: Doubs (25)
|
Posté le: Lun Avr 25, 2005 22:29 Sujet du message: |
|
|
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 |
|
|
eurower Site Admin
Inscrit le: 03 Jan 2002 Messages: 1458 Localisation: Lyon
|
Posté le: Lun Avr 25, 2005 22:33 Sujet du message: |
|
|
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
Let's go ... _________________ Modérateur des forums
Président de l'association
Hébergement eurower.net
Association loi 1901 |
|
Revenir en haut de page |
|
|
Altdorf
Inscrit le: 26 Mai 2004 Messages: 547 Localisation: Doubs (25)
|
|
Revenir en haut de page |
|
|
Altdorf
Inscrit le: 26 Mai 2004 Messages: 547 Localisation: Doubs (25)
|
Posté le: Lun Avr 25, 2005 22:49 Sujet du message: |
|
|
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 |
|
|
eurower Site Admin
Inscrit le: 03 Jan 2002 Messages: 1458 Localisation: Lyon
|
Posté le: Lun Avr 25, 2005 23:14 Sujet du message: |
|
|
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 |
|
|
Altdorf
Inscrit le: 26 Mai 2004 Messages: 547 Localisation: Doubs (25)
|
Posté le: Lun Avr 25, 2005 23:16 Sujet du message: |
|
|
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 |
|
|
Altdorf
Inscrit le: 26 Mai 2004 Messages: 547 Localisation: Doubs (25)
|
Posté le: Lun Avr 25, 2005 23:22 Sujet du message: |
|
|
La notification de réponse à un sujet par mail fonctionne en tout cas. _________________ http://www.lanparty.fr/ |
|
Revenir en haut de page |
|
|
Altdorf
Inscrit le: 26 Mai 2004 Messages: 547 Localisation: Doubs (25)
|
Posté le: Lun Avr 25, 2005 23:48 Sujet du message: |
|
|
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 |
|
|
Altdorf
Inscrit le: 26 Mai 2004 Messages: 547 Localisation: Doubs (25)
|
Posté le: Mar Avr 26, 2005 00:27 Sujet du message: |
|
|
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 |
|
|
eurower Site Admin
Inscrit le: 03 Jan 2002 Messages: 1458 Localisation: Lyon
|
Posté le: Mar Avr 26, 2005 10:23 Sujet du message: |
|
|
Merci de ne pas inclure de si grands fichiers sur les forums
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 |
|
|
Altdorf
Inscrit le: 26 Mai 2004 Messages: 547 Localisation: Doubs (25)
|
Posté le: Mar Avr 26, 2005 10:53 Sujet du message: |
|
|
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 et maintenant que mon message est parti 2 fois je ne peux plus tester... _________________ http://www.lanparty.fr/ |
|
Revenir en haut de page |
|
|
|
|
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
|
|