Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZF] nie czyta APPLICATION_ENV z htaccess
Forum PHP.pl > Forum > PHP > Frameworki
kaem
Witam,
dzisiaj zacząłem naukę ZF i już mam problem. Nie czyta mi zmiennej APPLICATION_ENV z htaccess.
htaccess:
  1. # MOJE
  2. DirectoryIndex index.php # to mam w sumie w apachu ustawione chyba
  3. SetEnv APPLICATION_ENV development
  4. # KONIEC MOJE
  5.  
  6. RewriteEngine On
  7. RewriteCond %{REQUEST_FILENAME} -s [OR]
  8. RewriteCond %{REQUEST_FILENAME} -l [OR]
  9. RewriteCond %{REQUEST_FILENAME} -d
  10. RewriteRule ^.*$ - [NC,L]
  11. RewriteRule ^.*$ index.php [NC,L]
  12.  

i w index.php po wykonaniu echo APPLICATION_ENV; wyświetla 'production'. Co robię źle?
Damonsson
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
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 smile.gif.

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
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
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
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.

sciana.gif Poprawiłem i i w projektach ZEND działa, ale w tych napisanych w AGAVI zwraca 500 Internal Server Error...
skowron-line
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.

sciana.gif 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
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
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.