Ben kullanıcı girişi dayalı diğer PHP dosyaları oluşturur bir PHP komut dosyası var. Temelde, dil belirli sabitleri (define
) kullanıcı tarafından tercüme edilebilir içeren dosyaları vardır. Çalışma zamanı hataları önlemek için, ben (nedeniyle "olağandışı" karakter dizilerinden) ayrıştırma hataları için yeni yazılmış dosyaları test etmek istiyorum. Ben ({[1) (]} gibi) SO burada birkaç mesajlarını okumak ve kullanan bir işlevi denedim
$output = exec("php -l $filename");
Bir dosya doğru ayrıştırmak belirlemek için. Bu benim yerel makinede mükemmel çalışır, ancak sağlayıcının makinede de, çağrı çıkış exec("php ...")
hep boş görünüyor. I ls
bir çağrı çalıştı ve PHP şekilde komut satırı çağırmaları ya kadar tepki yapılandırılmış olduğunu varsayımı beni götürüyor, bana çıkış verir. Herkes bu etrafında bir yol biliyor mu?
EDIT:, zaten shell_exec
denemişti ben söylemeyi unuttum ve bu ya, hiçbir sonuç verir. Sganesh en yanıta yanıt: Ben de üzgünüm söylemeyi unutmuşum çalışmıştı. Ancak, çıkış (ikinci argüman) daima boş bir dizi olacak ve test etmek için PHP dosyası sözdizimi hataları veya varsa dönüş değeri her zaman, ne olursa olsun 127 olacaktır.