29. august 2003 - 10:38Der er
26 kommentarer og 1 løsning
PHP, PEAR og QuickForm
Hejsa .. nu sidder jeg har og har bøvlet med PEAR på min locahost i et par dage og jeg kan _ikke_ få det til at virke. Jeg har læst http://www.eksperten.dk/spm/391657 og været igennem det mange gange men ligelidt hjælper det.. jeg har installeret Apache på min win2000 maskine og PHP og det kører fint.
Jeg vil gerne bruge PEAR sammen med HTML_QuickForm da jeg læste om diverse smarte muligheder det har, men jeg vil gerne lære og bruge det således jeg ikke skal rette i php.ini eller .htaccess da jeg gerne skulle kunne bruge det på en 'ekstern' server også ..
jeg havde tænkt mig det således her.
jeg har min locahost .. - i mappen htdocs har jeg oprettet en mappe der hedder PEAR og i samme mappe (htdocs) har jeg fx en mappe Test.
Inde i mappen Test har jeg en fil med navnet test.php med flg. -------- test.php <?php ini_set('include_path', '.:./pear:' . ini_get('include_path'));
-sørger for du udover de eksisterende include-paths kan inkludere filer fra den mappe der hedder "pear" (med små bogstaver) og ligger som underbibliotek i forhold til din eksisterende placering - dvs. hvis du prøver at inkludere en fil fra mappen 'Test' vil den lede i 'Test/pear' - ikke godt nok!
Ovenstående linie er skrevet udfra at jeg kun har én side (index.php) på mit website og den ligger i roden, så i forhold til den ligger 'pear' rigtigt!
I det spørgsmål du henviser til har jeg desuden listet alle filer inkl. deres placering - det er helt det samme for dig.
Det lugter henad at du får includeret din fil to gange. Måske har du glemt at slette den fra noget tidligere. Alle fejlene går jo på at "noget" er lavet i forvejen, enten konstanter eller klasser.
Det er ganske simpelt spørgsmål om at referere til den korrekte fil - hvis du lægger test.php ud i roden (hvor pear er et underbibliotek) fungerer det med al sandsynlighed.
linket allerøverst beskriver den måde jeg selv bruger PEAR på - og det fungerer fint på 3 forskellige sites...
Du er meget inkonsekvent mht. brug af store og små bogstaver samt angivelse af de biblioteker du placerer filerne i - jeg ved ikke om det kun er her på Eksperten eller om det også er tilfældet på computeren - det kan måske være derfor...
Men - for at finde fejlen må du lave lidt arbejde:
1. Copy/paste din nuværende kode - præcis som du har skrevet den 2. Angiv de filer du benytter samt deres placering - ligesom den listning jeg lavede i det spørgsmål du henviser til! Dog både placering af PEAR-filerne samt placering af dine egne filer.
Når du har gjort dette, skulle det være rimeligt nemt at finde din fejl.
har rettet det nu, men det virker desværre stadig ikke :/
nu siger den:
Warning: main(PEAR.php): failed to open stream: No such file or directory in c:\apache\htdocs\test\pear\HTML\QuickForm.php on line 22
Fatal error: main(): Failed opening required 'PEAR.php' (include_path='.;./pear;.;c:\php4\pear') in c:\apache\htdocs\test\pear\HTML\QuickForm.php on line 22
men i det du snakkede om i det andet emne står der ikke noget om PEAR.php skal ligge nogle steder? ..
og smider jeg den ind, begynder den på at der mangler Archive\tar.php
-den eneste ændring er, at den overskriver oprindelige include_path helt så jeg kunne være sikker på at den ikke brugte min originale pear-pakke som ligger et andet sted!
Det fungerer helt uden problemer hos mig - så det er jo både godt og skidt...
hm, okay .. - har du mulighed for (hvor koden virker (test.php), at zippe alle de filer (plus pear mapperne/filer), til en fil som jeg fx kunne hente fra et eller andet sted.. - og så afprøve med nøjagtigt samme "struktur" ? .. - så kunne jeg også afprøve det på mit domæne xtremeness.dk der..
for efter at have læst en masse med anvendelse af det quickform der vil jeg pokkers gerne sætte mig ind i det og få lært omkring det :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.