2012-08-07 29 views
7

Bugün ilk projemi Zend Framework ile oluşturuyorum ancak projeme bağlanmaya çalıştığımda yalnızca "500 Dahili Sunucu Hatası" görüyorum. Ben httpd.conf dosyasında bazı yeni satırlar ekleyin:Zend Framework - 500 Dahili Sunucu Hatası

NameVirtualHost *:80 
<VirtualHost *:80> 
DocumentRoot C:\AppServ\www\data1\public 
ServerName my_ip 
</VirtualHost> 

NameVirtualHost *:80 
<VirtualHost *:80> 
DocumentRoot C:\AppServ\www\data1\public 
ServerName http://my_ip 
</VirtualHost> 

Ve bu benim htaccess dosyasıdır:

RewriteEngine On 
#RewriteBase data1/public/ 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 
RewriteRule !\.(js|ico|gif|jpg|png|css|swf|html|pps)$ index.php [NC,L] 

order allow,deny 
allow from all 

bu sorun için daha fazla konu okumak ama şimdilik problem çözülmedi. Her şeyden

[Wed Aug 08 01:46:02 2012] [warn] NameVirtualHost *:80 has no VirtualHosts 
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/AppServ\\php5  \\ext\\php_exif.dll' - \xd3\xea\xe0\xe7\xe0\xed\xe0\xf2\xe0 \xef\xf0\xee\xf6\xe5\xe4 \xf3\xf0\xe0 \xed\xe5 \xe5 \xed\xe0\xec\xe5\xf0\xe5\xed\xe0.\r\n in Unknown on line 0 
[Wed Aug 08 01:46:02 2012] [notice] Apache/2.2.8 (Win32) PHP/5.2.6 configured -- resuming normal operations 
[Wed Aug 08 01:46:02 2012] [notice] Server built: Jan 18 2008 00:37:19 
[Wed Aug 08 01:46:02 2012] [notice] Parent: Created child process 2392 
[Wed Aug 08 01:46:02 2012] [warn] NameVirtualHost *:80 has no VirtualHosts 
[Wed Aug 08 01:46:02 2012] [warn] NameVirtualHost *:80 has no VirtualHosts 
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/AppServ\\php5\\ext\\php_exif.dll' - \xd3\xea\xe0\xe7\xe0\xed\xe0\xf2\xe0 \xef\xf0\xee\xf6\xe5\xe4\xf3\xf0\xe0 \xed\xe5 \xe5 \xed\xe0\xec\xe5\xf0\xe5\xed\xe0.\r\n in Unknown on line 0 
[Wed Aug 08 01:46:02 2012] [notice] Child 2392: Child process is running 
[Wed Aug 08 01:46:02 2012] [notice] Child 2392: Acquired the start mutex. 
[Wed Aug 08 01:46:02 2012] [notice] Child 2392: Starting 64 worker threads. 
[Wed Aug 08 01:46:02 2012] [notice] Child 2392: Starting thread to listen on port 80. 
[Wed Aug 08 01:46:15 2012] [alert] [client 46.40.124.225] C:/AppServ/www/data1/public/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration 
+0

Sunucularınızın error.log dosyası ne diyor? Neredeyse her zaman yardımcı olur. – FloydThreepwood

+0

php.ini dosyanızda aşağıdaki satırları ekleyin: error_reporting = E_ALL; display_errors = 1. Size bir Dahili Sunucu Hatası vermek yerine hatayı söylemelisiniz. Değişikliklerin etkili olması için sunucunuzu yeniden başlattığınızdan emin olun. – Johnnyoh

cevap

16

Hata günlüğünü gönderdiğiniz için teşekkür ederiz. O görünüyor

, sen mod_rewrite yüklü yok.

sizin httpd.conf dosyasını bulun ve satırı bulun:

#LoadModule rewrite_module modules/mod_rewrite.so 

satırın başından # işaretini kaldırın.

Sonraki, şöyle httpd.conf için yeni bir bölüm eklemek:

<Directory "C:/AppServ/www/data1/public"> 
    Options FollowSymLinks 
    AllowOverride All 
</Directory> 

AllowOverride direktifi önemlidir. Varsayılan olarak, .htaccess dosyaları izin verilmedikçe işlenmez. Bu satır, bu adlandırılmış dizindeki .htaccess dosyalarına izin verir.

Bu değişiklikleri yaptıktan sonra Apache'yi yeniden başlatın ve ardından ZF sayfanızı yeniden yüklemeyi deneyin.

+0

Çok teşekkürler Çok sayfamı başlatıyorum Zend Framework'e hoş geldiniz! Bu, projenizin ana sayfasıdır. –

+0

Bu gibi şeyler işe yaradı, .htaccess'in çalıştığından emin olmak için, sitenize erişip erişemeyeceğinizi görün.Denetleyiciyi ve eylem adlarını ön denetleyiciye başarıyla yönlendirdiğinden emin olmak için com/index/index'. Bu çalışırsa, yeniden yazma kurallarınızın tümü doğru şekilde kurulur. – drew010

+0

Evet, my_ip/index/index çalışma –

3

İlk, daha iyi bir hata ayıklama: (sunucudan) benim error.log dosyasıdır

. Sanal sunucunuza

ErrorLog "PATH_TO/zfapp-error_log" 
    CustomLog "PATH_TP/zfapp-access_log" combined 

ekleyin. Apache'yi yeniden başlatın ve sayfanızı yeniden yükleyin. Dosyalar belirtilen yolla oluşturulacaktır. Daha fazla hata ayıklamanıza yardımcı olacak kesin bir hata mesajı olacak.

0

Sadece aynı sorunu yaşadım ve drew010'un çözümü gerçekten düzeltdi!

Ancak, Apache konfigürasyon yapısı değişmiş görünüyor, bu nedenle eksik modülünü etkinleştirmek için yöntem biraz farklıdır:

$ cd /etc/apache2/mods-enabled 
$ cat ./rewrite.load 
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so 

Alkış: Bu doğrular

$ cd /etc/apache2/mods-enabled 
$ sudo ln -s ../mods-available/rewrite.load ./rewrite.load 

doğru şeyler oluyor var!

İlgili konular