Zprovoznění Nette na IIS7 s PHP 5.8.3

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Martin_R
Člen | 1
+
0
-

Zdravím,
mám problém se zprovoznění Nette Frameworku v. 2.0.6 (s namespace) na produkční platformě ISS 7 s php 5.3.8. Na vývojovým stroji s apache 2.4.2 , php 8.4.3 jede normálně. Na ISS7 mám naistalovaný modul URL Rewrite, úspěšně spustil kontrolu požadavků checker.php (.htaccess file protection . . . .OK) provedl jsem import přepisovacích pravidel stím že jsem musel smazat zakomentovaný řádek s # RewriteBase / protože ten mi IIS nechtěl vzít. Po nahrání na produkční server mi aplikace hází chybu:

Server Error
We're sorry! The server encountered an internal error and was unable to complete your request. Please try again later.
error 500

Zápis to složky log a temp mám povolený. Do log mi laděnka vypisuje chybu:
Nette\Application\ApplicationException: An error occurred while executing error-presenter in C:\inetpub\sites\komunikacniportal\libs\Nette\Application\Application.php:156

Pročetl jsem toto forum, vyzkoušel rady co jsem tu našel a pořád stejný výsledek. Nevíte někdo čím by to mohlo být. ?

přikládám můj .htaccess:

# disable directory listing
Options -Indexes

# enable cool URL
<IfModule mod_rewrite.c>
RewriteEngine On
# RewriteBase /

# prevents files starting with dot to be viewed by browser
RewriteRule /\.|^\. – [F]

# front controller
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
</IfModule>

# enable gzip compression
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript text/javascript application/javascript application/json
</IfModule>

# allow combined JavaScript & CSS. Inside of script.combined.js you could use <!--#include file=„script.js“ -->
<IfModule mod_include.c>
<FilesMatch „\.combined\.(js|css)$“>
Options +Includes
SetOutputFilter INCLUDES
</FilesMatch>
</IfModule>

a svůj web.config:

<?xml version=„1.0“ encoding=„UTF-8“?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name=„Imported Rule 1“>
<match url=„/\.|^\.“ ignoreCase=„false“ />
<action type=„CustomResponse“ statusCode=„403“ statusReason=„Forbidden“ statusDescription=„Forbidden“ />
</rule>
<rule name=„Imported Rule 2“ stopProcessing=„true“>
<match url=„\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$“ ignoreCase=„false“ negate=„true“ />
<conditions logicalGrouping=„MatchAll“>
<add input=„{REQUEST_FILENAME}“ matchType=„IsFile“ ignoreCase=„false“ negate=„true“ />
<add input=„{REQUEST_FILENAME}“ matchType=„IsDirectory“ ignoreCase=„false“ negate=„true“ />
</conditions>
<action type=„Rewrite“ url=„index.php“ />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

Vyzkoušel jsem jak web.config vytvořený přímo v nette tak web.config vytvořený přes import rules v URL rewrite.
Budu vděčný za každou radu.

Patrik Votoček
Člen | 2221
+
0
-

Martin_R napsal(a):

Server Error
We're sorry! The server encountered an internal error and was unable to complete your request. Please try again later.
error 500

Zápis to složky log a temp mám povolený. Do log mi laděnka vypisuje chybu:
Nette\Application\ApplicationException: An error occurred while executing error-presenter in C:\inetpub\sites\komunikacniportal\libs\Nette\Application\Application.php:156

Ve tvé aplikaci dojde k chybě kterou se snaží zachytit error presenter ve kterém ale také dojde k chybě. (překlad toho co jsi napsal výše)

ondra310
Člen | 25
+
0
-

Nevim jestli je to uz vyresene. Resil jsem podobny problem, nakonec jsem skoncil u simpleRouteru a vyhodil jsem web.config s tim, ze se na to podivam jeste pozdeji, ale hlavne ze aplikace jede. Nicmene me zas IIS zlobi s tim, ze nechce nacitat css soubory. Vcera jsem prisel na to, ze kdyz je presunu do noveho adresare, tak najednou k nim ma pristup a vsechno to funguje. Pritom prava na slozce jsou stejna, vsechno se jevi stejne, tak nevim v cem je problem. Spis me ted rozciluje, ze jsem nasadil nove mySql a casy nacitani se mi prodlouzilo o 3sec, coz uz je neunosne. Nema s tim nekdo zkusenost?

rumcais1
Člen | 81
+
0
-

Aby tě fungovala laděnka musíš mít nastavený na iis v Error pages → Detailes errors a na adresářích temp a log práva na zapisování pod uživatelem pod kterým web běží (většinou lokalní IUSR).