error_log ανά εικονική υποδοχής;

ψήφοι
97

Σε ένα Linux Server τρέχει Apache και PHP 5, έχουμε πολλούς Virtual Hosts με ξεχωριστά αρχεία καταγραφής. Δεν φαίνεται να μπορεί να διαχωρίσει την php error_logμεταξύ virtual hosts.

Προτεραιότητα αυτή τη ρύθμιση στο <Location>του httpd.confδεν φαίνεται να κάνει τίποτα.

Είναι ένας τρόπος για να έχουμε ξεχωριστές php εκεί error_logsγια κάθε εικονική υποδοχής;

Δημοσιεύθηκε 01/08/2008 στις 19:37
πηγή χρήστη
Σε άλλες γλώσσες...                            


11 απαντήσεις

ψήφοι
133

Αν κάποιος έρχεται ψάχνετε, θα πρέπει να μοιάζει κάπως έτσι:

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/domains/example.com/html
    ErrorLog /var/www/domains/example.com/apache.error.log
    CustomLog /var/www/domains/example.com/apache.access.log common
    php_flag log_errors on
    php_flag display_errors on
    php_value error_reporting 2147483647
    php_value error_log /var/www/domains/example.com/php.error.log
</VirtualHost>

Αυτό είναι για την ανάπτυξη μόνο εφόσον display_errorείναι ενεργοποιημένη. Θα παρατηρήσετε ότι το αρχείο καταγραφής σφαλμάτων του Apache είναι ξεχωριστό από το αρχείο καταγραφής σφαλμάτων PHP. Τα καλά πράγματα είναι php.error.log.

Ρίξτε μια ματιά εδώ για το error_reportingκλειδί http://www.php.net/manual/en/errorfunc.configuration.php#ini.error-reporting

Απαντήθηκε 26/08/2010 στις 16:29
πηγή χρήστη

ψήφοι
72

Για να ρυθμίσετε το Apache ( όχι το PHP ) log, ο ευκολότερος τρόπος για να γίνει αυτό θα ήταν να κάνετε:

<VirtualHost IP:Port>
   # Stuff,
   # More Stuff,
   ErrorLog /path/where/you/want/the/error.log
</VirtualHost>

Εάν δεν υπάρχει ηγετικό «/» υποτίθεται ότι είναι σχετική.

Apache Error Log Σελίδα

Απαντήθηκε 01/08/2008 στις 20:58
πηγή χρήστη

ψήφοι
12

Συνήθως μόνο το αναφέρετε σε ένα .htaccessαρχείο ή η vhost.confμε τον τομέα δουλεύω. Προσθέστε αυτό σε ένα από αυτά τα αρχεία:

php_admin_value error_log "/var/www/vhosts/example.com/error_log"
Απαντήθηκε 02/08/2008 στις 02:10
πηγή χρήστη

ψήφοι
8

Η προεπιλεγμένη συμπεριφορά είναι για error_log () για την έξοδο στο αρχείο καταγραφής σφαλμάτων του Apache. Εάν αυτό δεν συμβαίνει ελέγξτε τις ρυθμίσεις php.ini σας για το error_log οδηγίας - αφήστε το απενεργοποιημένο για να χρησιμοποιήσετε το αρχείο καταγραφής Apache για το τρέχον vhost.

Απαντήθηκε 01/08/2008 στις 23:20
πηγή χρήστη

ψήφοι
6

Μην τοποθετείτε error_logόπου σας syslogτα πράγματα πηγαίνει, eg /var/log/apache2γιατί τα λάθη θα πάρει υποκλαπούν από ErrorLog. Αντ 'αυτού, να δημιουργήσει ένα subdirπου σου φάκελο του έργου για τα αρχεία καταγραφής και να κάνει php_value error_log "/path/to/project/logs". Αυτό ισχύει και για τα δύο .htaccess αρχεία και Πατρόν . Επίσης, βεβαιωθείτε ότι έχετε θέσει php_flag log_errorsσε

Απαντήθηκε 02/04/2010 στις 21:50
πηγή χρήστη

ψήφοι
5
php_value error_log "/var/log/httpd/vhost_php_error_log"

Λειτουργεί για μένα, αλλά εγώ πρέπει να αλλάξει την άδεια του αρχείου καταγραφής.

ή Apache θα γράψει το αρχείο καταγραφής των της error_log.

Απαντήθηκε 03/07/2009 στις 00:54
πηγή χρήστη

ψήφοι
5

Ναι, μπορείτε να δοκιμάσετε,

php_value error_log "/var/log/php_log" 

στο .htaccessή μπορείτε να έχετε χρήστες χρησιμοποιούν ini_set()στην αρχή των σεναρίων τους, αν θέλουν να έχουν υλοτομία.

Μια άλλη επιλογή θα ήταν να ενεργοποιήσετε τις δέσμες ενεργειών για την προεπιλογή του php.iniστο φάκελο με το σενάριο, τότε πηγαίνετε στο ριζικό φάκελο του χρήστη / υποδοχής, στη συνέχεια, να root του server, ή κάτι παρόμοιο. Αυτό θα επιτρέψει οικοδεσπότες να προσθέσετε το δικό τους php.iniαξίες και τις δικές τους error_logθέσεις.

Απαντήθηκε 23/09/2008 στις 00:29
πηγή χρήστη

ψήφοι
5

Έχετε δοκιμάσει προσθήκη του php_value error_log '/path/to/php_error_logστη διαμόρφωση σας VirtualHost;

Απαντήθηκε 29/08/2008 στις 07:13
πηγή χρήστη

ψήφοι
4

Apache μου είχε κάτι τέτοιο στο httpd.conf. Απλά αλλάξτε τις ρυθμίσεις ErrorLog και CustomLog

<VirtualHost myvhost:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot /opt/web
    ServerName myvhost
    ErrorLog logs/myvhost-error_log
    CustomLog logs/myvhost-access_log common
</VirtualHost>
Απαντήθηκε 09/08/2008 στις 03:51
πηγή χρήστη

ψήφοι
3

Θα μπορούσατε να δοκιμάσετε:

    <VirtualHost myvhost:80>
       php_value error_log "/var/log/httpd/vhost_php_error_log"
    </Virtual Host>

Αλλά δεν είμαι σίγουρος αν πρόκειται να λειτουργήσει. Προσπάθησα στον ιστότοπό μου χωρίς επιτυχία.

Απαντήθηκε 23/09/2008 στις 00:22
πηγή χρήστη

ψήφοι
0

Δημιουργία Απλή VirtualHost:

παράδειγμα hostname: - thecontrolist.localhost

  1. C: \ Windows \ System32 \ drivers \ etc

    127.0.0.1 thecontrolist.localhost στο αρχείο hosts

  2. C: \ xampp \ apache \ conf \ έξτρα \ httpd-vhosts.conf

    <VirtualHost *> ServerName thecontrolist.localhost ServerAlias thecontrolist.localhost DocumentRoot "/xampp/htdocs/thecontrolist" <Directory "/xampp/htdocs/thecontrolist"> Options +Indexes +Includes +FollowSymLinks +MultiViews AllowOverride All Require local </Directory> </VirtualHost>

  3. Μην ξεχάσετε να κάνετε επανεκκίνηση του apache σας. Για περισσότερες ελέγξει αυτό το link

Απαντήθηκε 31/05/2018 στις 06:58
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more