PHP için raylar gibi konsol?

4 Cevap php

Benim sunucuda benim test ortamında, işler yok ederken her öylesine sık sık, şeyler, benim yerel PHP geliştirme ortamında çalışır. Bu hata ayıklamak için bir kabus. Ben Rails sağlayan gibi bir konsol olsaydı, hata ayıklama çok daha basit olurdu.

Raylar konsolu gibi ama PHP için bir şey var mı?

Ben bir ev brewn PHP uygulama kullanıyorum bahsetmeliyiz.

4 Cevap

PHP çalıştırarak mevcut bir temel etkileşimli kabuk vardır php -a. Bu olsa bir çerçeve-tabanlı konsol çan ve ıslık yok.

Daha detaylı bilgi dokümanlar bulunabilir: http://docs.php.net/commandline.interactive

Webbiedave söz php gibi bir dil olduğunu ve Raylar Ruby bir çerçevedir. Da olabilir ya da php-cli yüklüyse tam tarayıcı olarak aynı değildir CLI (komut dosyasını çalıştırmak, ama - Ancak, php script içine "break-noktaları" eklemek olabilir - ve ya tarayıcıdan yürütmek ) daha yararlı bilgi sağlar.

Bir kaç diğer ipucu - sahip basit bir script ile her makine, devel ve üretim (için ortam ayarlarını dökümü

<?php phpinfo(); ?>

Ve farklılıkları karşılaştırmak - Bu belli bölümlerini ortamları arasında başarısız neden vurgulamak yardımcı olabilir.

Bu durumda olduğu gibi yararlı olmayabilir ama son olarak php-bir irb ve yakut ile yapabilirsiniz gibi çok etkileşimli php çalıştırabilirsiniz.

Sen -d ve php-cli için -a bayrakları ile kendi uygulama konsolu dönebilirsiniz. Bu gibi bir şey olurdu:

php -d auto_prepend_file=init.php -a

Sizin init.php uygulama kodunuzu göbeğini ne olursa olsun dosya olacaktır. Örneğin WordPress için, bu wp-load.php olacaktır.

http://franklinstrube.com/blog/rails-like-console-php/

php -a çok yararlı değildir.

Senin gibi, aşağıda küçük bir senaryo yazmak ve /usr/bin yerleştirin öneririz:

import readline
from subprocess import call

pre_lines = """
ini_set("display_errors", 1);
error_reporting(E_ALL);
date_default_timezone_set("GMT");
"""

if __name__ == '__main__':
    try:
        call(["php", "--version"])
        print
        while True:
            user_input = raw_input('php> ')
            if user_input.strip() == "":
                continue
            elif user_input.find("=")>=0 and user_input.find("==")==-1:
                pre_lines += user_input + ";\n"
            elif user_input.find(";")>=0:
                call(["php", "-r", "%s\n%s" % (pre_lines, user_input)])
            else:
                call(["php", "-r", "%s\nvar_export(%s);" % (pre_lines, user_input)])
                print
    except EOFError:
        print "Bye"
    except KeyboardInterrupt:
        print "Bye"
    except OSError:
        print "You either don't have PHP installed, or the PHP binary is not in PATH"

Yukarıdaki ile, taleb destek ve kolayca denklemler değerlerini kontrol edeceğiz.