Neden benim php script iş

3 Cevap php

I (başlangıçta) yapmak istediğiniz her aşağıdadır:

<?php
phpinfo();
?>

Ben çalışan iki farklı web sunucuları var. Ben ile, herhangi bir dosya adı altında, firefox yukarıdaki açmaya çalışırsanız: apache 80 portu, yalnızca yukarıda yankıları.

Ben port üzerinde bir piton bükülmüş web sunucusu, herhangi bir dosya adı olarak, yukarıda açmaya çalışırsanız: 8888, ben bir http 500 hatası (CGI Script Hata olsun

Komut başlıklarının sonu.)!

Ben Gentoo linux kullanıyorum. Ben cgi farklı şekilde yüklenmiş ve yeniden yüklediniz. Her iki web sunucuları ile beklendiği gibi bir şey diğer dosya, CGI kullanarak değil, yukarı servis edilir.

3 Cevap

Ve kazanan:

<IfDefine PHP5>
    # Load the module first
    <IfModule !mod_php5.c>
            LoadModule php5_module    modules/libphp5.so
            AddHandler php5-script php
            AddHandler php5-script html
            AddType text/html       php
    </IfModule>

    # Set it to handle the files
    <FilesMatch "\.ph(p5?|tml)$">
            SetHandler application/x-httpd-php
    </FilesMatch>

    <FilesMatch "\.phps$">
            SetHandler application/x-httpd-php-source
    </FilesMatch>

    DirectoryIndex index.php index.phtml

Gerçekten ben henüz ne yapıyorum bilmiyorum. Bütün bildiğim istenen etkiyi elde değildir:.. Benim kök htdocs dizini herhangi * php veya * html dosyası doğru php SCRIPT'LER verecek. Bu ne demek hakkında web posttings karışıklık bir sürü bulundu. Benim php scriptler <? ile başlar ve ?> O <?php yazmak için gerekli değildi, ne de bir * herhangi bir http başlıklarını yazmak için gerekli olan ile biter. php dosyası.

Eğer bir cgi-bin olarak php çalıştırmak gerekmez. sadece htdocs klasörü altında dosya koymak.

LoadModüle kullanarak httpd.conf Yüklediğiniz emin olun mod_php5

ve sunucuyu yeniden başlatın -> fBapachectl restart

bu kutunun dışında çalışacak

Sen çıkışına ilk CGI için başlıklara gerek:

<?php
echo "Content-type: text/html\n";
echo "\n";

phpinfo();
?>

Daha fazla bilgi için the CGI documentation bakın.

EDIT:

Httpd'de altında, örneğin, cgi-bin/ olarak script koymak ve orada aracılığıyla erişmek gerekir http://example.com/cgi-bin/phpinfo.php.