Kuşkusuz, bu benim olması için garip bir sorundur, ama burada ben ne yapıyorum:
PHP kodu bir dize yürütme ve çıkış yakalayan bir Ruby komut dosyası var.
Bu komut satırından cgi PHP ile çalışan another problem that I had biraz ilgilidir.
İşte Ruby betiğin kaynağıdır:
#!/usr/bin/ruby
puts "Içerik türü: text / html\n\n"
puts "Start PHP Output<br />"
puts `echo '<?php echo "hello world"; ?>' | php5 -q`
puts "End PHP Output<br />"
Ben çözemiyorum gerçekten tek şey burada PHP kodu ben CGI komut satırı vs gelen Ruby komut dosyası çalıştırdığınızda farklı davranır gibi görünüyor olmasıdır. Her halükarda aynı argümanlarla komut PHP aynı dizeyi yürütme ediyorum çünkü gerçekten, benim için mantıklı değil hangi.
Ben komut satırından yukarıdaki Ruby komut dosyasını çalıştırdığınızda, ben bekliyoruz çıktı almak:
Içerik türü: text / html
Start PHP Output
hello world End PHP Output
Ben CGI aracılığıyla bir tarayıcıdan aynı Ruby komut dosyası vurduğunda, ben bu çıktıyı alıyorum:
Start PHP Output
X-Powered-By: PHP/5.2.13 Içerik türü: text / html
puts "Içerik türü: text / html\n\n" puts "Start PHP Output
" putsecho 'hello world' | php5 -q
puts "End PHP Output
" End PHP Output
Ne oluyor PHP dize yapmak-q seçeneği beklediğiniz gibi ..., başlıklarını bastırmak değildir ve aynı zamanda geri tarayıcıya benim tüm Ruby komut damping olmasıdır gibi, bana, benziyor - hangi saptırma plakaları ben.
Herhangi bir düşünce?
Şimdiden teşekkürler!