kaem
19.12.2011, 15:27:59
Witam,
dzisiaj zacząłem naukę ZF i już mam problem. Nie czyta mi zmiennej APPLICATION_ENV z htaccess.
htaccess:
# MOJE
DirectoryIndex index.php # to mam w sumie w apachu ustawione chyba
SetEnv APPLICATION_ENV development
# KONIEC MOJE
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
i w index.php po wykonaniu echo APPLICATION_ENV; wyświetla 'production'. Co robię źle?
Damonsson
19.12.2011, 15:43:56
Zmień sobie w index.php na
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'development'));
A DirectoryIndex jest zbędny.
skowron-line
19.12.2011, 15:49:18
Cytat(Damonsson @ 19.12.2011, 15:43:56 )

Zmień sobie w index.php na
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'development'));
A DirectoryIndex jest zbędny.
Świetne rozwiązanie

.
Zobacz sobie
Kod
print_r($_SERVER);
czy pokaże APPLICATION_ENV, bo wygląda jak by getenv nie czytało zmiennej.
http://pl.php.net/manual/pl/function.getenv.php
kaem
19.12.2011, 15:53:48
No dobra jak tak zrobię jest ok ale dlaczego nie pobiera tego z htaccess?
Właściwie to wygląda na to, że htaccess wogóle nie działa. Bo żeby dostać się np. do akcji wierszyk/pokaz muszę podawać w adresie index.php (http://localhost/zend/witaj-w-netbeans/public/index.php/wierszyk/pokaz). Muszę coś w apachu poustawiać czy jak? W sumie na frameworku Agavi htaccess działa...
PS. uczę się książki 'Zend Framework od podstaw' W.Gajdy.
EDIT: @skowron-line faktycznie nie czyta mi APPLICATION_ENV. W phpinfo() na dole też nie ma tej zmiennej. W apachu mam włączony moduł LoadModule env_module modules/mod_env.so. Także dalej nie wiem co jest grane;/
EDIT2: wcześniej uczyłem się zenda z quickstarta na stronie zenda, i tam dużo kombinowałem z vhostami, koniguracją apacha także podejrzewam, że coś przy okazji pokręciłem
Damonsson
19.12.2011, 16:18:23
Nie pokręciłeś, miałem ten sam problem, dlatego podałem Ci tamto rozwiązanie. Na hostingu było tak samo, nie wiem od czego to zależy, nie zagłębiałem się, bo nie było mi to potrzebne.
kaem
19.12.2011, 16:29:29
Ok dzięki, na razie musi wystarczyć. Ale jak by ktoś jeszcze miał pomysł jak to rozwiązać to chętnie przeczytam.
EDIT:/ tak jak myślałem, przy okazji nauki z tutoriala ze strony zenda nadpisałem sobie w http.conf dyrektywe <Directory "D:/www/htdocs">. Miałem ją dwa razy i w drugiej AllowOverride None zamiast AllowOverride All.

Poprawiłem i i w projektach ZEND działa, ale w tych napisanych w AGAVI zwraca 500 Internal Server Error...
skowron-line
19.12.2011, 20:21:54
Cytat(kaem @ 19.12.2011, 16:29:29 )

EDIT:/ tak jak myślałem, przy okazji nauki z tutoriala ze strony zenda nadpisałem sobie w http.conf dyrektywe <Directory "D:/www/htdocs">. Miałem ją dwa razy i w drugiej AllowOverride None zamiast AllowOverride All.

Poprawiłem i i w projektach ZEND działa, ale w tych napisanych w AGAVI zwraca 500 Internal Server Error...
To ustawa vhosta na konkretny katalog w htodcs nie jeden konfig na całość.
Damonsson
19.12.2011, 21:02:59
Faktycznie, ja też miałem podwójnie i to ten zdublowany skrzętnie schowany, musiałem coś dawno temu kombinować i zapomniałem o tym. AllowOverride All rozwiązuje problem.
kaem
21.12.2011, 12:16:37
Ustawiłem vhost na projekty z Agavi i w sumie na razie na obu frameworkach działają
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.