Neden root olarak bir komut dosyası çalışırken normal bir kullanıcı olarak PHP BİLDİRİ ve hataları görmek, ama değil mi?

2 Cevap

Bildiğim kadarıyla söyleyebilirim, kullanıcılar arasındaki hata raporlama veya mesaj yönlendirme arasında hiçbir fark yoktur. Her ikisi de aynı PHP ini kullanın.

Root olarak çalıştırdığınızda ben normal bir kullanıcı olarak bir komut dosyası çalıştırdığınızda Ancak, ben İLANLARIN ton olsun, ben de hiçbiri olsun. Normal bir kullanıcı olarak PHP etkileşimli modu başlatırken, ben 'memcache' ve 'xmlwriter' zaten yüklü olduğundan iki PHP Uyarılar olsun; root olarak başlatırken, hiçbir uyarı olsun.

Ben değil, uyarıları tespit edilmesi gerektiğini biliyoruz "uyarıları go away yapmak;" Bu bilet üzerinde bulunuyor. Soru, neden kullanıcıların farklı muamele edilir? Neden normal bir kullanıcı bildirimler ve uyarılar olsun, ama yok kök etmez, onların hata raporlama aynı olsa bile?

2 Cevap

Bu uyguluyorsun gerçek PHP ikili nedeniyle $PATH farklılıklar farklı olması olasıdır. Sen memcache için ortak modüller kullandığı /usr/bin PHP bir kopyası yüklü olabilir ve başka bir /usr/local/bin de o statik bağlantılı bulunuyor.

Her iki yürütülebilir kendi yapılandırması için /etc/php.ini başvuruda bulunabilir. Yapılandırma dosyası paylaşılan modülü yüklemek için denemek için PHP söylüyorum ise, statik bağlantılı olan kopya alıyoruz hataları oluşturur.

Komutunu deneyin which php PHP yürütülebilir yerini geri bildirmelidir normal kullanıcı ve root olarak. Ayrıca echo $PATH o ariyor dizinleri görmek için her kullanıcı olarak söyleyebiliriz. Eğer ~/.profile dosyasında yapmak gerekir, hangi eklemek / $PATH bir dizin kaldırmak gerekebilir.

Şey ortamında farklıdır.

Ne böyle soruşturma denerseniz:

$ php -i > mortal
$ su php -i > root
$ diff mortal root