Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [symfony] Nie działa wsółpraca z bazą
Forum PHP.pl > Forum > PHP > Frameworki
stachuf11
Wszystko powinno byc ok a nie jest

zrobiony project
symfony init-app front

pozniej
symfony propel-build-model
symfony propel-build-sql
symfony propel-insert-sql

jest prawidlowo tworzona baza w mysql-u

nastepnie

symfony init-module front hotele Hotele

pozniej
symfony propel-generate-crud front hotele Hotele

symfony clear-cache


i gdy w url wpisze
http://localhost/symf/web/front.php/hotele/list

to wyswietli sie bala strona i trwa oczekiwanie na odpowiedz serwera



mimo ze prawidlowo jest tworzony sql, wstawiany do bazy, przy tworzeniu modelu nie ma zadnego bledu, to przy wyswietlaniu strony z linkiem jak wyzej biala strona, co moze byc powodem?
prosze o pomoc
Stachu



zawartosci plikow konfiguracyjnych poniżej,




w databases.yml
all:
propel:
class: sfPropelDatabase
param:
phptype: mysql # Database vendor
hostspec: localhost
database: hotele_baza
username: user
password: haslo
port: 80
encoding: utf8 # Default charset for table creation
persistent: true # Use persistent connections




w priopel.ini

propel.targetPackage = lib.model
propel.packageObjectModel = true
propel.project = symf
propel.database = mysql
propel.database.createUrl = mysql://MIRKO:stach2@localhost
propel.database.url = mysql://MIRKO:stach2@localhost/hotele_baza

propel.addGenericAccessors = true
propel.addGenericMutators = true
propel.addTimeStamp = false

propel.schema.validate = false

; directories
propel.home = .
propel.output.dir = c:/xampp/htdocs/symf
propel.schema.dir = ${propel.output.dir}/config
propel.conf.dir = ${propel.output.dir}/config
propel.phpconf.dir = ${propel.output.dir}/config
propel.sql.dir = ${propel.output.dir}/data/sql
propel.runtime.conf.file = runtime-conf.xml
propel.php.dir = ${propel.output.dir}
propel.default.schema.basename = schema
propel.datadump.mapper.from = *schema.xml
propel.datadump.mapper.to = *data.xml

; builder settings
propel.builder.peer.class = addon.propel.builder.SfPeerBuilder
propel.builder.object.class = addon.propel.builder.SfObjectBuilder

propel.builder.objectstub.class = addon.propel.builder.SfExtensionObjectBuilder
propel.builder.peerstub.class = addon.propel.builder.SfExtensionPeerBuilder
propel.builder.objectmultiextend.class = addon.propel.builder.SfMultiExtendObjectBuilder
propel.builder.mapbuilder.class = addon.propel.builder.SfMapBuilderBuilder
propel.builder.interface.class = propel.engine.builder.om.php5.PHP5InterfaceBuilder
propel.builder.node.class = propel.engine.builder.om.php5.PHP5NodeBuilder
propel.builder.nodepeer.class = propel.engine.builder.om.php5.PHP5NodePeerBuilder
propel.builder.nodestub.class = propel.engine.builder.om.php5.PHP5ExtensionNodeBuilder
propel.builder.nodepeerstub.class = propel.engine.builder.om.php5.PHP5ExtensionNodePeerBuilder

propel.builder.addIncludes = false
propel.builder.addComments = false

propel.builder.addBehaviors = false



w schema.yml

propel:
hotele:
_attributes: { phpName: Hotele }
id:
nazwa: longvarchar
miasto: varchar(255)
ulica: varchar(255)
nr_domu: varchar(10)
nr_mieszkania: varchar(10)
poczta: varchar(100)
kod_pocztowy: varchar(20)
sticker
tu masz ból

  1. <?php
  2. all:
  3. propel:
  4. class: sfPropelDatabase
  5. param:
  6. phptype: mysql # Database vendor
  7. hostspec: localhost
  8. database: hotele_baza
  9. username: user
  10. password: haslo
  11. port: 80
  12. encoding: utf8 # Default charset for table creation
  13. persistent: true # Use persistent connections
  14. ?>


w propel ini masz:

propel.database = mysql
propel.database.createUrl = mysql://MIRKO:stach2@localhost
propel.database.url = mysql://MIRKO:stach2@localhost/hotele_baza

wiec czemu w database.yml uzywasxz username: user zamiast MIRKO i password: haslo zamiast stach2, poza tym port 80 to port http podczas gdy w propelu używasz domyślnego czyli 3360


w towim propel ini znalazłem też:

propel.targetPackage = lib.model
propel.packageObjectModel = true

buduje Ci sie poprawnie baza przy wartości propel.packageObjectModel = true bo mi niestety nie chce musze dawac zawsze na false i w bug reportach to znalazłem wiec moze masz nowszą wersje a moze nie wiesz że baza Ci sie źle buduje






port do mysql z propela widać że jest 3306 (czyli domyślny) port 80 to port używany przez http domyslnie zmień i bedzie git
stachuf11
dziekuje serdsecznie koledze za podpowiedz, z symfony niedlugo pracuje i troche sie zakrecilem, wiem ze domyslny port dla MySQL-a to 3306, ale tak jakos nie dostrzegłem, uzytkownika i haslo mialem dobrze w kodzie, tylko na forum niekonsekwentnie zmienilem,
przy zmiennych

propel.targetPackage = lib.model
propel.packageObjectModel = true
dziala prawidlowo, albo nie wiem jeszcze ze nieprawidlowo, ale lista edycja itd dziaja ok, dziekuje serdecznie koledze za te wskazowki w portem bo to psulo chyba glownie,
pozdrawiam
Stachu
haryb
No ja mam podobny problem:(

I niby połaczenie jest ok ponieważ w bazie utworzył tabele itd.
ale w momencie gdy odpalam:

http://localhost/symfona_sql/web/frontend_dev.php/post

To wywala mi bład:
Kod
No connection params set for propel
stack trace
at ()
in SF_ROOT_DIR\lib\symfony\vendor\propel\Propel.php line 476 ...
$dsn = isset(self::$configuration['datasources'][$name]['connection'])
? self::$configuration['datasources'][$name]['connection'] : null;

if ($dsn === null) {
        throw new PropelException("No connection params set for " . $name);
        }

        include_once 'creole/Creole.php';



Mój plik :databases.yml
Kod
all:
propel:
class: sfPropelDatabase
param:
phptype: mysql # Database vendor
hostspec: localhost
database: blog
username: root
password:
port: 3360
encoding: utf8 # Default charset for table creation
persistent: true # Use persistent connections


Plik: propel.ini
Kod
propel.targetPackage = lib.model
propel.packageObjectModel = true
propel.project = symf
propel.database = mysql
propel.database.createUrl = mysql://root:@localhost
propel.database.url = mysql://root:@localhost/blog

propel.addGenericAccessors = true
propel.addGenericMutators = true
propel.addTimeStamp = false

propel.schema.validate = false

; directories
propel.home = .
propel.output.dir = c:/WebServer/xampp2/htdocs/symfona_sql/
propel.schema.dir = ${propel.output.dir}/config
propel.conf.dir = ${propel.output.dir}/config
propel.phpconf.dir = ${propel.output.dir}/config
propel.sql.dir = ${propel.output.dir}/data/sql
propel.runtime.conf.file = runtime-conf.xml
propel.php.dir = ${propel.output.dir}
propel.default.schema.basename = schema
propel.datadump.mapper.from = *schema.xml
propel.datadump.mapper.to = *data.xml

; builder settings
propel.builder.peer.class = addon.propel.builder.SfPeerBuilder
propel.builder.object.class = addon.propel.builder.SfObjectBuilder

propel.builder.objectstub.class = addon.propel.builder.SfExtensionObjectBuilder
propel.builder.peerstub.class = addon.propel.builder.SfExtensionPeerBuilder
propel.builder.objectmultiextend.class = addon.propel.builder.SfMultiExtendObjectBuilder
propel.builder.mapbuilder.class = addon.propel.builder.SfMapBuilderBuilder
propel.builder.interface.class = propel.engine.builder.om.php5.PHP5InterfaceBuilder
propel.builder.node.class = propel.engine.builder.om.php5.PHP5NodeBuilder
propel.builder.nodepeer.class = propel.engine.builder.om.php5.PHP5NodePeerBuilder
propel.builder.nodestub.class = propel.engine.builder.om.php5.PHP5ExtensionNodeBuilder
propel.builder.nodepeerstub.class = propel.engine.builder.om.php5.PHP5ExtensionNodePeerBuilder

propel.builder.addIncludes = false
propel.builder.addComments = false

propel.builder.addBehaviors = false


Co jest żle że pokazuje mi że nei ma parametrów do połaczenia jak sa wszystkie chyab podane?
mike
Kod
symfony cc
questionmark.gif
haryb
Tak było kasowania cachu i to samo.

Ten plik propel.ini skopiowałem od załozyciela tematu i pozmieniałem tak pod siebie by pasował - może cos pozostało co odnosi sie do jego projektu lub co powienenm znienic?

Pokoleji wykonałem nastepujace komendy:
symfony propel-build-model
symfony propel-build-sql
symfony propel-insert-sql
symfony propel-generate-crud frontend post Post
symfony propel-generate-crud frontend comment Comment
symfony cc

mój plik schema.yml:
Kod
propel:
  post:
    _attributes: { phpName: Post }
    id:
    title:       varchar(255)
    excerpt:     longvarchar
    body:        longvarchar
    created_at:
  comment:
    _attributes: { phpName: Comment }
    id:
    post_id:
    author:      varchar(255)
    email:       varchar(255)
    body:        longvarchar
    created_at:



dupa:( probowalem już róznych ustaiwen i za chiny nie chce ruszyc z baza...
Już ograniczyłem całą configuracje o tylko niezbędne dane a i tak nei rusza.

Może ktoś mi tutaj wrzuci swoj przykładowy plik propel.ini - sprawdzony - ktory sie łaczy do MySQL ?
mike
Jeśli konto z którego propel ma korzystać nie ma hasła to pomijasz dwukropek.
mysql://root:@localhost/blog
Powinno być: mysql://root@localhost/blog
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.