Forum

Guest  

Show or hide header
Welcome Guest, posting in this forum require registration.




Zend Framework Buch » Feedback » Fehler » Tutorial bis Seite 67 Fatal error

Pages: [1]
Author Topic: Tutorial bis Seite 67 Fatal error
bown
Member
Posts: 1
Post Tutorial bis Seite 67 Fatal error
on: 27.04.2009 21:42:28

Hi,

ich habe mir vor Kurzem das Framwork Buch geholt und bin fleißig am Durcharbeiten. Ich habe das Buch bis Seite 67 durchgearbeitet und bekomme nun leider einen Fehler auf der Seite.

Fatal error: Call to a member function setAttribute() on a non-object in C:\xampp\htdocs\library\Zend\Db\Adapter\Pdo\Abstract.php on line 133

Leider kann ich damit garnichts anfangen.
Ich vermute das die Zugriffe auf die Datenbank fehlschlagen.

Würde mich sehr freuen wenn mir jemand weiterhelfen könnte.

Ich habe den neuen Xampp auf Vista laufen.

MFG
Bown

joerg
Member
Posts: 1
Post Re: Tutorial bis Seite 67 Fatal error
on: 05.05.2009 15:27:38

Hallo Bown,

habe den gleichen Fehler gehabt. Das Problem liegt darin, dass sich das gedruckte Listing auf Seite 55 und das zugehörige Listung auf der CD unterscheiden.

Im Buch steht in Zeile 6:
if ($_SERVER['HTTP_HOST'] == ‘localhost’) {

Auf CD:
if (in_array($_SERVER['HTTP_HOST'], array(’localhost’, ‘devhost’))) {

Die CD bezieht nach meiner Meinung auf die in Kapitel 2.8 beschriebene Lösung mit dem “Virtual Host”. Ersetze die Zeile 6 (CD Version) durch:

if ($_SERVER['HTTP_HOST'] == ‘localhost’) {

und es sollte funktionieren.

Nebenbei bemerkt: Die CD enthält in Zeile 14 einen dritten Array Eintrag:
APPLICATION_PATH . ‘../../../ZendFramework-1.7.8/library’,

Diesen solltest Du entfernen bzw. anpassen. Wenn Du die Installation wie im Buch beschrieben vornimmst, kann das nicht funktionieren, dort steht nämlich
Zitat: “… kopieren Sie bitte von der CD-ROM, alle Inhalte aus dem Verzeichnis ZendFramework-1.7.4/library/ nach schnellstart/library/, …”

bttb930
Member
Posts: 3
Post Re: Tutorial bis Seite 67 Fatal error
on: 08.06.2009 13:25:42

Bei mir taucht der gleiche Fehler auf und die Lösung von Jörg hilft nicht.

Finde es echt frustrierend dass da soviele Fehler sind. Ärgere mich auch etwas, dass ich erst jetzt von dem Nachdruck lese. Macht so keinen Spaß… Ich will Zend lernen und nicht Fehler suchen.

paintdevil
Member
Posts: 1
Post Re: Tutorial bis Seite 67 Fatal error
on: 08.06.2009 20:57:09

Hatte das problem auch …….. und habe den ratschlag von joerg umgesetzt und die Zeile rüber kopiert und es ging immer noch nicht.
Mir ist dann später aufgefallen das die Hochkomma’s falsch sind es sind Apostroph…..
Scheint Übersetzungs problem dieses Blogs zusein das er die Hochkomma als Abostroph darstellt.

Sonst is es ein Problem mit der Config.ini datei da er in “Produktion” Umgebung die Datenbank wo anders sucht zeigt er denn fehler , einfach da auch den richtigen Pfad angeben und es müsste gehen ……(so habe ich das zu test zwecken gemacht um zuschauen ob es weitergeht dann ).
Achja und lerne auch Zend gerade und find es net schlecht auch mal nen Fehler zusuchen ………

bttb930
Member
Posts: 3
Post Re: Tutorial bis Seite 67 Fatal error
on: 09.06.2009 10:32:06

Ja, mal einen Fehler suchen ist kein Problem. Aber nur…!?

Ich hab ein anderes Tutorial gefunden, das ich gestern mal probiert habe und das ich sehr gut finde:

http://akrabat.com/zend-framework-tutorial/

Ist für einen Einstieg vielleicht besser als das Beispiel in Kapitel 3. Danach kann man ja mit dem Buch weiter machen.

bttb930
Member
Posts: 3
Post Re: Tutorial bis Seite 67 Fatal error
on: 09.06.2009 10:46:15

Hab’s jetzt übrigens zum Laufen gebracht indem ich statt SQLite nun MySQL nehme. Dazu muss man folgendes tun:

1. MySQL-Datenbank “schnellstart” anlegen (z.B. mit HeidiSQL)
2. Das SQL-Script Pizzas.sql aus dem files\database-Dir der CD ausführen. Achtung: Dieses Script enthält einen Fehler in Zeile 24: Da muss vor der schließenden Klammer noch “smallint” stehen. Außerdem erste und letzte Zeile entfernen.
3. Die config.ini ändern wie folgt (Username und Password anpassen – dies sind die für Xampp / localhost voreingestellten Standardwerte):

[production]
db.adapter = PDO_MYSQL
db.params.host = localhost
db.params.username = root
db.params.password =
db.params.dbname = schnellstart

[development : production]

Das hätte ich ohne das in meinem vorigen Post erwähnte Tutorial nicht geschafft, weil ich gar nicht gewusst hätte, wie ich statt SQLite auf MySQL zugreifen kann…

itsame69
Member
Posts: 5
Post Re: Tutorial bis Seite 67 Fatal error
on: 06.08.2009 15:01:47

Zuerst einmal ein Danke an bttb930! Dein Tipp hat zumindest mal die Pizzaliste zum Laufen gebracht…

Jetzt tritt allerdings das nächste Problem auf: sobald ich auf eine der Pizzen klicke, bekomme ich die Fehlermeldung:

404 Not Found: The requested URL /public/index/show/id/4 was not found on this server.

Kann mir da irgendjemand weiterhelfen?

itsame69
Member
Posts: 5
Post Re: Tutorial bis Seite 67 Fatal error
on: 20.08.2009 11:11:30

Lösung gefunden:

If you are getting 404 errors when going to any page other than the home page, please make sure that you have set AllowOverride to All in your Apache configuration and have enabled the mod_rewrite extension.

Quelle: http://akrabat.com/zend-framework-tutorial/

tweini
Member
Posts: 1
Post Re: Tutorial bis Seite 67 Fatal error
on: 27.02.2010 02:32:54

DIE LÖSUNG

Der Fehler liegt in der config.ini im Verzeichnis:

zfbuch-1.8\kapitel03\schnellstart\application\config

[production]
db.adapter = Pdo_Sqlite
db.params.dbname = "/local/database/server/luigiblog.sqlite"
db.params.sqlite2 = true

[development : production]
db.params.dbname = "../data/pizza.sqlite"

Hier wird der Produktionsumgebung der lokale Pfad “/local/database/server/luigiblog.sqlite” zugewiesen, der eigentlich zur Developmentumgebung gehört. Und natürlich umgekehrt ;-)

Einfach die config.ini folgendermassen ändern:

[production]
db.adapter = Pdo_Sqlite
db.params.dbname = "../data/pizza.sqlite"
db.params.sqlite2 = true

[development : production]
db.params.dbname = "/local/database/server/luigiblog.sqlite"

Und schon sollte die Fehlermeldung “Fatal error: Call to a member function setAttribute() on a non-object in…” verschwunden sein.

LG

tweini

Pages: [1]
WP-Forum by: Fredrik Fahlstad, Version: 2.2
Page loaded in: 0.051 seconds.