Pro změnu error 500 – sandbox
- K4M1L
- Člen | 17
Zdravím. Tak jako na Endoře tak i na mém vlastním serveru mi háže
nette /www/nette/sandbox/index.php error 500. Mám memory limit 32M. Nevím
čím to je, hledal jsem složku cache (nenašel ji ani vyhledávač), takže
jsem dal chmod 777 na složku log. Prosím nepište mi nic jako „zapni
laděnku“. Podle asi 15 návodů jsem ji zkusil zapnout, jen jednou mi
napsala cosi do logu (problém jen vyřešil, error přetrval).
Jen pro info, zkusil jsem ji nainstalovat i na wamp, xampp a podobné windows
servery a stejný problém.
Aktuálně je na LAMP variantě (Linux debian 2.6.32–5–686, Apache/2.2.16,
PHP/5.3.3–7+squeeze8 + příslušná verze Nette). Takže prosím o radu.
I když si myslím, že stejně budu muset přejít na nějaký fungující
framework. Vím, že se to tu už párkrát řešilo, ale všechno zhaslo na
„použij laděnku“ „nepomohla“ „chmony 777 cache a log“
„nepomohlo“ <půl roku pauza> „nenašel někdo řešení?“
„zapni laděnku“… Ona prostě nepomáhá na takovýhle obyčejný
problém :D
Edit: Sever není virtualizovaný, ale fyzický.
Editoval K4M1L (14. 4. 2012 2:07)
- K4M1L
- Člen | 17
Nette guru – temp má taky 777 na to jsem zapomněl. Nějaká jiná rada? http://79.110.36.137/…ww/index.php tohle je ta chyba
- Ani
- Člen | 226
app/bootstrap.php
Je to popsane https://doc.nette.org/cs/quickstart
Predne bych zkusil tu ladenku (jo vim ze jsi zkousel). Pak pripadne krokovat tenhle bootstrap, kam az to dojde, at vis kde se to zasekne, protoze jestli nemas vytvorenou cache, tak to bude nekde v nem.
Editoval Ani (14. 4. 2012 2:31)
- Ani
- Člen | 226
Já nemyslel zrovna zakomentování… Jen si prostě udělat:
<?php
exit;
$configurator->createRobotLoader()
->addDirectory(APP_DIR)
->addDirectory(LIBS_DIR)
->register();
?>
a
<?php
$configurator->createRobotLoader()
->addDirectory(APP_DIR)
->addDirectory(LIBS_DIR)
->register();
exit;
?>
No a když to první hodí bílou stránku a to druhý už tu 500, tak víš kde je chyba. Takové „jelimanské“ krokování :D
Podle toho co ti spadne se to dá dále „analyzovat“.
- K4M1L
- Člen | 17
mám tu nový error log:
`[2012–04–14 01–23–44] PHP Warning: mkdir(): Permission denied in
/var/www/nette/sandbox/libs/Nette/Config/Configurator.php:85 @
[2012–04–14 01–23–44] Nette\DirectoryNotFoundException: Directory
‚/var/www/nette/sandbox/app/../temp/cache‘ not found. in
/var/www/nette/sandbox/libs/Nette/Caching/Storages/FileStorage.php:76 @ @@
exception-2012–04–14–01–23–44–0d39218b8d94c0d32b69c9e5e7d8b690.html`
/var/www/nette/sandbox/libs/Nette/Config/Configurator.php – takový soubor
tam vůbec není, chmod 777
A ano první hodilo bílou smrt, druhé error
Editoval K4M1L (15. 4. 2012 22:55)
- 22
- Člen | 1478
no, máš tam minimálně nějaký problém s .htaccess (File protection by .htaccess is not present. You must be careful to put files into document_root folder.) a jinak nebudeš tomu věřit, ale já vůbec nevím, jaký návod myslíš i kdybych věděl, tak si určiitě nebudu vědom jeho obsahu.
- K4M1L
- Člen | 17
ten nejzákladnější návod → https://doc.nette.org/cs/quickstart
jinak .htaccess je povolený, jen v té složce žádný není (není to root)
Editoval K4M1L (14. 4. 2012 11:31)
- 22
- Člen | 1478
No nevim, co tim myslíš, ale předpokládám, že Nette ti říka, ža máš problém se zabezpečením aplikace. Zkoušel jsem jeden link z tohoto příspěvku a nějak mě to nepochopitelně háže na index.php, i když zadám url bez index.php, což buď znamená, že nejede mod_rewrite anebo tam jsou nějaké harakiry z .htaccess.
Pak se zameř na ten problém, proč nejde vytvořit složka
cache
a jestli na to místo, kam se Nette snaží zapsat je opravdu
přístup.
P.S.: neuškodilo by ani uveřejnění verze Nette
- K4M1L
- Člen | 17
File protection by .htaccess is not present. You must be careful to put files
into document_root folder
Ochrana souborů pomocí .httaccess není přednastavená. Buďte opatrní při
vkládání souborů do kořenového adresáře.
Nette guru, kde tam je něco jako „bacha nepůjde vám sandbox“?
U všech ostatních věcí, které případně nejdou je napsáno i omezení
které vznikne. bylo by dost divné kdyby tady napsané nebylo…
Verze nette 2.0.3.PHP 5.3 (včera jsem ji stáhl z tohoto webu).
- Jan Endel
- Člen | 1016
Jelikož nemáš stránky na konkrétní doméně ale v několika do sebe zanořených adresářů zkusil bych do htaccess ve složce www odkomentovat řádek RewriteBase a napsat tam:
RewriteBase /nette/sandbox/www/
to by nás mohlo posunout dále k vytyčenému cíli. Jinak my na fóru nemůžeme za to, že ti něco nefunguje…
- K4M1L
- Člen | 17
jistě. Průběh byl následující: Error 500 na indexu sandboxu. Odstanění erroru z error logu (nebyly práva na vytvoření složky cache) Poté bylo podezření, že jsou špatně práva i u jiných složek, tak jsem nastavil na všechny složky a soubory chmod 777 a od té doby tam je jen bílá stránka. (jo ještě jsem testoval to co psal kolega výše, zastavení scriptu). Nakonec jsem dneska odkomentoval ten rewrite v .htaccess-u. A pořád nic…
- Šaman
- Člen | 2659
Koukám, že K4M1L má nakopírované kompletní nette balík, včetně examples apod. Zajímavé je, že ukázka Modules-Usage a Fifteen fungují, ostatní hází 500. Ale ta chyba 500 je Nettovská, takže by šlo přepsat v bootstrapu třeba v příkladu CD-collection logování chyb na: ‚Debugger::enable(Debugger::DEVELOPMENT)‘ a my ti pak můžeme říct, na čem to spadne. I bez této úpravy bys měl z localhostu vidět laděnku, ale my zvenku vidíme jen error 500.
Na mě to dělá dojem, že máš zakázaný .htaccess. Nejen, že ti to píše Checker, ale taky se ti můžu prohrabovat a adresářích app, což je běžně zakázaný právě použitím .htaccessu. Což je nebezpečné (vidím třeba tvůj config), ale možná s tím má problém i framework..
A to, že jsi našel vlákna se stejným problémem bez odpovědi, to neznamená, že je špatný framework, nebo komunita, ale spíš to značí, že se jedná o nonNette problém. Těžko radit v případě, že máš třeba nestandardně nastavený server, nebo práva. Dokud se nedostaneš alespoň k Laděnce, tak je to práce pro správce serveru, nikoliv pro experty na framework. Jesli jsi stáhnul stabilní verzi, tak věř tomu, že jak framework, tak Sandbox je funkční a spustitelný..
Editoval Šaman (15. 4. 2012 14:19)
- K4M1L
- Člen | 17
o pár postů výše je výpis z error logu, ten stačí? Jinak .htaccess je povolený, nvm jak už to napsat jinak, jen v root adresáři nemám žádný .htaccess tak se checkeru nelíbí zabezpečení. Jinak server jak nastavený naprosto standartně…Jestli je třeba posti error log znovu, ale je v něm totéž. Jinak zakomentováno není vůbec nic. whitescreen se objevuje od okamžiku kdy jsem nastavil všem adresářům /nette chmod 777
- Šaman
- Člen | 2659
K4M1L napsal(a):
…jen v root adresáři nemám žádný .htaccess tak se checkeru nelíbí zabezpečení. Jinak server jak nastavený naprosto standartně…
V root adresáři žádný .htaccess být nemusí, tento soubor musí být v zabezpečených adresářích. Takže třeba v /app. A tam ho buď nemáš (což není pravděpodobné, protože v distribuci je), anebo ho nemáš povolený (což potvrzuje i Checker).
Teď jsem si nakopíroval Nette 2.03 ze 4.4.2012 a do žádných složek
kromě /www
se z prohlížeče neproklikám (v projektech, tedy
v sandboxu, CD Collection apod.) U tebe se tam dostanu. A taky u mě projde
Checker. U tebe ne. V rootu taky žádný .htaccess nemám.
Pro jistotu jsem se díval co checkuje Checker a ten skutečně kontroluje,
jestli .htaccess funguje. Kontroluje to pomocí adresářů /denied
a /rewrite
.
Takže nemáš správně nakonfigurovaný server! S Nette to vůbec nesouvisí.
Editoval Šaman (15. 4. 2012 18:20)
- K4M1L
- Člen | 17
Šaman napsal(a):
Takže nemáš správně nakonfigurovaný server! S Nette to vůbec nesouvisí.
Tak mi vysvětli jakto, že .htaccess mod_rewrite Enabled (podle checkeru), v security.conf je nastaveno
AllowOverride All
Order Deny,Allow
Deny from all
Prostě všechno je jak má být a pravidla na mém serveru jsou mnohem volnější než na jakémkoli hostingu.
Kašlete na to, tohle nemá smysl, budu hledat nějaký funkční framework.
Editoval K4M1L (15. 4. 2012 22:54)
- minzo
- Člen | 23
K4M1L napsal(a):
Kašlete na to, tohle nemá smysl, budu hledat nějaký funkční framework.
Proč hledat problém u sebe, jehož hledání může trvat několik hodin
nebo dokonce dnů.
Když mohu vše svést na „ostatní“ a trvá to pouze pár vteřin.
Každý s nette mel v začátcích určitě nějaký problém a tu jsou někteří i o chotní a snaží se i pomoc ostatním, ale když se chováš takto …
Hodně štěstí se Zendem :D
- Dredy
- Člen | 4
Hurá, ať žijou příjemní lidé anebo viva K4M1L… bože.
Pro všechny, kteří při prvních problémech nebudou chtít přejít na temnou stranu Zendu – narazil jsem dneska na Forpsi (běží na serveru Microsoft-IIS/6.0) na ten samý problém, tj. .htaccess file protection – disabled, následně error 500 a po troše ladění (Ani, díky za tip jelimanského krokování!! :)) pak PHP Warning: mkdir(): Permission denied in /var/www/nette/sandbox/libs/Nette/Config/Configurator.php:85.
Šlo (minimálně v mém případě) skutečně jen o špatně nastavená práva adresářů. Práva na tomto hostingu nejdou nastavit obvyklým způsobem přes FTP, musí se to udělat v administraci hostingu, kterou na Forpsi najdete na adresa-vasi-domeny.pripona-vasi-domeny/cp. Od chvíle, kdy byl povolen zápis do /temp, už všechno běží, jak má. To jen informace pro kohokoliv, kdo by se někdy potkal s tímto problémem.
- edison23
- Člen | 2
chtel bych se zeptat, mam uplne stejny problem, zkusil jsem podle jednoho
navodu tady nakopirovat index.html do nette/sandbox/www/ a zjistil jsem, ze mi
to taky hazi error 500. Pak me napadlo smazat ve slozce nette/sandbox/www/
.htacces a hned jsem na stranku „You have successfully created your Nette
Framework project.“ (zajimave je, ze index.html to ignoruje) … muze mi
nekdo, prosim, vysvetlit, co je teda valstne spadne? (vsechny soubory&slozky
maji 777 a adresarova struktura je podle doporucene, mam nette pro php
5.3 pricemz PHP Version 5.3.13-pl0-gentoo )
diky,
edison
- edison23
- Člen | 2
.htaccess:
# Apache configuration file (see httpd.apache.org/docs/2.2/mod/quickreference.html)
# disable directory listing
Options -Indexes
# enable cool URL
<IfModule mod_rewrite.c>
RewriteEngine On
# RewriteBase /
# 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>
zkusil jsem smazat vsechno z nej krom casti, kde se pouziva Mod_Rewrite (podle doporuceni znameho), a uz to funguje… uz to 500 nehazi… mam to brat jako problem solved?
- Exon
- Člen | 1
Tak vážení, dnes jsem řešil příčinu erroru 500 když jsem chtěl spustit example CD-collection v nette 2.0.4-PHP5.3 (checker proběhl korektně, sandbox fungoval také). Server debian ve virtuálu. Konfigurace prověřena, .htacces taky.
Debugger odhalil absenci SQLite, což byla první část problému. Zaráží
mě však další záležitost. Aby mohla aplikace zapisovat/mazat v souboru
s databází, musí mít složka app/model nastavena práva 777 (775 nestačí
!)
Co je špatně?