[php] incompatible scripting met new functienaam();

Pagina: 1
Acties:
  • 52 views sinds 30-01-2008

  • assass
  • Registratie: November 2002
  • Laatst online: 31-07-2024

assass

Salon GoT'er

Topicstarter
ik probeer een php script over te zetten van de een (PHP Version 4.3.11) naar een andere server

ik gebruik daarin php code als volgt:

code:
1
2
3
4
5
6
7
$pdf = new HTML2FPDF();
$pdf->SetRightMargin(10);
$pdf->SetLeftMargin(10);
$pdf->SetTopMargin(15);
$pdf->AddPage();
$pdf->WriteHTML($html);
$pdf->Output('factuur.pdf', 'D');


dit bovenstaand specifieke deel is niet zelf gescript, maar gekopieerd van de instructie door html2fpdf,.. zelf gebruik ik deze manier van scripten niet - het probleem is nu dat de andere server met PHP Version 5.0.4 hier niks van snapt. ik heb debugt en het gaat mis vanaf het moment dat met 'new HTML2FPDF();' een opdracht wordt gegeven,.. $pdf->SetRightMargin(10); e.d. snapt de server ook niet,.. het resultaat is een blanco pagina terwijl het script goed is.

welke setting kan ik op de server aanpassen, of wat kan ik in het script veranderen om toch dit goed te kunnen uitvoeren?

  • sky-
  • Registratie: November 2005
  • Niet online

sky-

qn nna 👌

Doe eens :

print_r($pdf);
na elke keer je dus een nieuwe functie aanroept.

don't be afraid of machines, be afraid of the people who build and train them.


  • Morax
  • Registratie: Mei 2002
  • Laatst online: 23:18
Zet bovenaan de pagina eens
PHP:
1
error_reporting(E_ALL);


Dan zou je in ieder geval geen leeg scherm, maar een foutmelding moeten zien :)

What do you mean I have no life? I am a gamer, I got millions!


  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Ik gok dat de HTML2FPDF-class niet of niet goed werkt. Is deze wel compatibel met PHP5?

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


  • assass
  • Registratie: November 2002
  • Laatst online: 31-07-2024

assass

Salon GoT'er

Topicstarter
de server geeft totaal geen foutmeldingen
op welke manier ik er ook om vraag,.. dat maakt ultiem debuggen heel moeilijk

(snapt iemand dat btw,.. dat sommige servers geen foutmeldingen weergeven?)

dus probeer handmatig met echo's steeds verder in het script te komen

bovenin het script gaat het kennelijk ook al mis bij een require

require('http://www.domeinnaam.nl/html2pdf/html2fpdf.php');

als ik hem niet met de volle absolute path oproep wordt deze niet include lijkt wel!

vervolgens loopt het script al vast bij ob_start();

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

Als display_errors in php.ini op off staat zie je nooit foutmeldingen, en met de error_level (?) instelling kan er ook nog het 1 en ander onderdrukt worden. De instelling van display_errors kan je controleren met phpinfo().

De foutmelding bij jouw is heel makkelijk. Je include nu een geparsed PHP bestand. Includen via HTTP zorgt er immers voor dat de PHP code uitgevoerd wordt, net als bij een normaal request. Zorg dat je 'm gewoon via het bestandssysteem include en dan werkt het waarschijnlijk wel.

Sole survivor of the Chicxulub asteroid impact.


  • assass
  • Registratie: November 2002
  • Laatst online: 31-07-2024

assass

Salon GoT'er

Topicstarter
ok,.. deze bijdrage brengt me al een stuk verder!

ini_set("display_errors","On"); bovenin gedumpt

nu krijg ik wel een error,..

ik krijg nu te maken met

Warning: main() [function.main]: open_basedir restriction in effect. File(/fpdf.php) is not within the allowed path(s): (/var/www/vhosts/wokshoponline.nl/httpdocs:/tmp) in /var/www/vhosts/wokshoponline.nl/httpdocs/html2pdf/html2fpdf.php on line 63

als ik de files move (wat me niet de bedoeling lijkt, maar ach) naar de root map krijg ik uiteindelijk:

Warning: Missing argument 2 for FPDF::SetMargins() in /var/www/vhosts/wokshoponline.nl/httpdocs/fpdf.php on line 175


het vreemde is dat op n andere server het prima werkte,.. maar nu met deze andere manier van functies aanroepen niet

[ Voor 30% gewijzigd door assass op 13-05-2007 17:34 ]


  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

maak van /fpdf.php eens fpdf.php, zonder /. Nu probeer je vanuit de root van het filesystem te includen, en dat werkt begrijpelijkerwijs niet.

[edit]
En setMargins() verwacht 2 argumenten, je geeft er nu maar 1 mee.

[ Voor 21% gewijzigd door AtleX op 13-05-2007 18:44 ]

Sole survivor of the Chicxulub asteroid impact.


  • assass
  • Registratie: November 2002
  • Laatst online: 31-07-2024

assass

Salon GoT'er

Topicstarter
AtleX schreef op zondag 13 mei 2007 @ 18:06:
maak van /fpdf.php eens fpdf.php, zonder /. Nu probeer je vanuit de root van het filesystem te includen, en dat werkt begrijpelijkerwijs niet.

[edit]
En setMargins() verwacht 2 argumenten, je geeft er nu maar 1 mee.
het is mijn script niet,.. dergelijke aanpassingen heb ik geprobeerd, maar kom er nog niet uit

zou het gewoon met de safemode inschakeling te maken hebben?

of nog met andere instellingen? zie ook www.wokshoponline.nl/phpinfo.php

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

Even voor de duidelijkheid: Wat is het pad naar fpdf,php, en wat is het pad naar html2fpdf.php?

Sole survivor of the Chicxulub asteroid impact.


  • igmar
  • Registratie: April 2000
  • Laatst online: 30-11 18:38

igmar

ISO20022

assass schreef op zondag 13 mei 2007 @ 17:26:
ini_set("display_errors","On"); bovenin gedumpt
Dit noemen ze basic debuggen.
Warning: main() [function.main]: open_basedir restriction in effect. File(/fpdf.php) is not within the allowed path(s): (/var/www/vhosts/wokshoponline.nl/httpdocs:/tmp) in /var/www/vhosts/wokshoponline.nl/httpdocs/html2pdf/html2fpdf.php on line 63
Zie safe mode
als ik de files move (wat me niet de bedoeling lijkt, maar ach) naar de root map krijg ik uiteindelijk:

Warning: Missing argument 2 for FPDF::SetMargins() in /var/www/vhosts/wokshoponline.nl/httpdocs/fpdf.php on line 175
SetMargins() wil 2 argumenten, en die geef je niet mee.

  • Janoz
  • Registratie: Oktober 2000
  • Nu online

Janoz

Moderator Devschuur®

!litemod

Zoals je kunt zien had de eerste foutmelding inderdaad te maken met savemode, maar door het juiste pad te gebruiken geeft dat geen enkel probleem (gewoon relatief includen, en zeker niet een http:// adres in je include opnemen). Je tweede probleem is gewoon een fout in je script, precies zoals AlteX zegt.

In principe heb je genoeg gegevens nu om je probleem op te lossen. Alle fouten zijn simpele syntax fouten die redelijk simpel op te lossen zijn. Het is hier niet de bedoeling dat we support gaan leveren op scripts van derden. In dat geval kun je beter contact opnemen met degene die het script geschreven heeft.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Zie igmar. Met een beetje debuggen en lezen over de foutmeldingen die je nu terugkrijgt moet je hier zonder problemen uit kunnen komen. Over open_basedir restricties en safe mode is aardig veel te vinden. ;)

Dit topic doe ik dan ook op slot. Zorg gewoon dat je bestanden niet buiten je documentroot staan of zet safe mode uit, en leer verder om foutmeldingen te interpreteren danwel op te zoeken, dan kom je er wel uit. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.