lut 05

Teraz aby uruchomić nasz projekt wystarczy wydać polecenie http://localhost/nauka_zenda/public. Powinniśmy na ekranie zobaczyć coś podobnego do:

Zend Framework strona powitalna

Zend Framework strona powitalna

Gdyż w folderze public zawarty jest plik index.php. Nie ma w tym nic złego, jednak dobrym rozwiązaniem jest przenieść plik index.php tak aby po wejściu w link http://localhost/nauka_zenda zobaczyć powyższy obrazek. Plik po przeniesieniu należy nieznacznie zmodyfikować, tak aby ścieżki się zgadzały. Wygląd fragmentu pliku przed modyfikacją:

defined('APPLICATION_PATH')
    || define('APPLICATION_PATH',
    realpath(dirname(__FILE__) . '/../application'));

Wygląd fragmentu pliku po modyfikacji:

defined('APPLICATION_PATH')
    || define('APPLICATION_PATH',
    realpath(dirname(__FILE__) . '/application'));

Jak widać zmiana jest niewielka ale bardzo pożyteczna. Oczywiście należy przenieść też plik .htaccess

Skąd wzięła się zawartość pliku którą widzimy tu na ekranie? Standardowo Zend Framework widok przechowuje w folderze application\views\scripts\index, wszystkie widoki mają rozszerzenie .phtml, Jednak plik ten można powiedzieć jest tak jakby wyrwany z kontekstu, brakuje, znaczników meta, html, oraz body, można powiedzieć, że brakuje całego layoutu. O layoutach powiem w kolejnych punktach.

Autor siema \\ tagi: , , , , , ,



14 Odpowiedzi do “Pierwsze uruchomienie projektu”

  1. mm napisał(a):

    Hej!

    Taka mała uwaga, nie trzeba przenosić pliku index.php. Wręcz nie powinno się. Tylko katalog public powinien być widoczny poprzez serwer http. Po prostu w konfiguracji serwera http ustawiamy katalog dokumentów na właśnie katalog public. Tak jest to opisane w dokumentacji i jak też tak polecam.

    pozdrawiam

  2. siema napisał(a):

    W dokumentacji to jest naprawdę wiele rzeczy :) przynajmniej jak straciłeś czas i energię na napisanie tego to trzeba było napisać już coś więcej – jak co i gdzie :)

  3. ekleers napisał(a):

    Chodzilo mu pewno o to ze mozesz zmienic w konfiguracji apacha DocumentRoot
    Apache2\conf\httpd.conf
    I edytujesz ta linike:
    DocumentRoot “C:\Program Files\Zend\Apache2/htdocs”
    na np.
    DocumentRoot “C:\Program Files\Zend\Apache2/htdocs/nauka\public”

    no i potem strone ogladasz w http://127.0.0.1/index.php

  4. marcin_owski napisał(a):

    mam pytanie wpisuję http://localhost/nauka_zenda/public i nie wyświetla mi nic mam czyściutką stronę co mam robić?

  5. siema napisał(a):

    Może sprawdź czy w ogóle PHP ci działa (czy serwer masz uruchomiony) i czy w folderze public masz index.php oraz czy plik .htaccess masz w dobrym miejscu. Sam nie wiem nigdy nie miałem takich problemów. Ten błąd nie musi być związany wcale z Zendem, sprawdź źrodło tej pustej strony czy cokolwiek tam jest czy jest ona naprawdę pusta :)

  6. adam napisał(a):

    mam problem , po wpisaniu adresu wyświetla mi się bład, “Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.”

    Wydaje mi się, że coś może być źle z plikem .htaccess, poniewać gdy go przenosze index.php do folderu wyżej i nie przeniose pliku .htaccess to wtedy wyświetla mi sie strona startowa ZF.

    Próbowalem ze zmiana praw folderu public i index.php na 705 , ale nie przynioslo to rezultatow.

  7. siema napisał(a):

    Tak masz rację, to problem z .htaccess, albo plik jest uszkodzony w jakiś sposób, albo serwer nie radzi sobie z obsługą tego pliku. Spróbuj na innym serwerze.

  8. zderki napisał(a):

    @adam, po pierwsze sprawdź czy masz załadowany mod_rewrite, jeśli .htaccess jest wygenerowany przez ZF to raczej nie zawiera błędu.
    Jeśli coś zmieniałeś, upewnij się, że zapisałeś sobie plik bez BOM (jeśli w UTF-8) to powinno pomóc.

  9. dominic napisał(a):

    Nie znaleziono obiektu!
    Nie znaleziono żądanego URLa na tym serwerze. Jeśli wpisałeś URLa ręcznie, sprawdź, czy nie się nie pomyliłeś.

    Jeśli myślisz, że jest to błąd tego serwera, skontaktuj się z administratorem.

    Error 404
    localhost
    2010-09-26 14:22:34
    Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1

    Co jest źle??

  10. 456331 napisał(a):

    Zastanów się czy prawidłowo wykonałeś wszystkie kroki do tego momentu. Poczytaj przewodnik zendframeworka lub zobacz na stronę http://zendframeworkps.blox.pl .

  11. Konfeusz napisał(a):

    strona http://zendframeworkps.blox.pl nie działa :) . Na razie czytam kilka artykułów na temat Zend’a oraz tego bloga, początek nauki, ale mam od razu pytanie, może ktoś się orientuje, czy szykowana jest jakaś publikacja w stylu “po prostu start” na temat Zend’a?

    Serdecznie pozdrawiam i dziękuje za tego Bloga, ładnie, krótko i na temat.

  12. tox napisał(a):

    Do apacza musi być załadowany mod_rewrite i dyrektywa AllowOverride = All

  13. Krzysztof napisał(a):

    W zasadzie można to zrobić tak:
    plik .htaccess w katalogu nauka_zenda:

    RewriteEngine On
    RewriteRule ^.*$ public/index.php [NC,L]

    i plik bootstrap.php o którym mowa później:

    bootstrap(‘FrontController’);
    $front = $this->getResource(‘FrontController’);

    // Initialize the request object
    $request = new Zend_Controller_Request_Http();
    $request->setBaseUrl(‘/nauka_zenda’);

    // Add it to the front controller
    $front->setRequest($request);

    // Bootstrap will store this value in the ‘request’ key of its container
    return $request;
    }
    }

    $request->setBaseUrl(‘/nauka_zenda’); <- gdzie tutaj to jest nic innego jak nazwa katalogu głównego.

  14. Wojtek S. napisał(a):

    Hej, ja z kolei mam następujący problem: stworzony lokalnie plik: file:///C:/xampp/htdocs/witaj-w-netbeans/public/index.php nie załącza w ogóle widoku: file:///C:/xampp/htdocs/witaj-w-netbeans/application/views/scripts/index/index.phtml.
    Źródło jest niezmienione. Czy ktoś wie, o co może chodzić?

    bootstrap()
    ->run();