[php] phpini et public function ?

WRInaute discret
Bonjour à tous !

j'ai installé fpdf avec fpdi sur un de mes sites pour générer des docs pdf.
J'ai développé mon site en local avec easyphp, tout fonctionne sans problème.

Une fois le site uploadé, j'obtiens l'erreur suivante :

Code:
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /homepages/18/d330279217/htdocs/autobook/v1.2/phpToPDF/fpdf_tpl.php on line 262

la ligne 262 correspond à
Code:
public function SetFont($family, $style = '', $size = 0) {

et donc aucun PDF de généré.

j'ai essayé de retirer "public" devant function, et là le pdf se génère (avec l'image de fonds), mais il n'y a plus de texte inséré (cette fonction définit la taille d'écriture, la police...) donc je pense qu'elle n'est plus lue.

Avez vous une idée d'où peut provenir ce problème ??!

merci !

Frédéric
 
WRInaute discret
c'est possible, mais pourquoi "public" poserait problème ?

C'est soit une question de version, soit de config !
Mais je ne m'y connais pas suffisamment pour savoir d'où peut provenir ce problème...
 
WRInaute impliqué
Je sais pas c'est une supposition :)

T'as essayé de générer un pdf vide sur ta version en ligne pour voir si le soucis vient de toi ou si ce serait un problème de compatibilité?
Fais toi une petite page php avec le strict minimum pour créer ce pdf vide. Comme ça déjà on isole les problèmes de variables que tu lui as envoyé.
 
WRInaute discret
voici lé résultats des tests :

SANS "public" devant function :
Le pdf est généré. L'image de fond est correcte (import d'un doc cerfa pour le pré remplir), mais il n'y a pas de texte (où il est invisible du mois). Résultat similaire local / hébergeur.

AVEC "public" devant function :
Le PDF N'est pas généré sur mon hébergeur (cf message d'erreur ci dessus). En local oui, et tout est correct. J'ai essayé de généré un pdf vide (juste import de l'image de fonds) sur l'hébergeur, j'obtiens encore le message d'erreur. Même si je mets en commentaires la ligne qui fait appel à la fonction ci dessus.

Je suis un peu perdu :/
 
WRInaute accro
D'après la doc, "public function xxx" et "function xxx" c'est pareil (une méthode est publique par défaut), donc ça ne devrait pas changer le résultat. Mais le fait que "public" n'est pas accepté est probablement le signe d'une (très) vieille version de php. Quelle version utilises-tu sur les deux machines?

Accessoirement, il est possible que ça ne fonctionne pas comme tu veux parce que des fontes ne sont pas disponibles ou pas au même endroit dans les deux cas, non? Cf FPDF_FONTPATH.

Jacques.
 
WRInaute discret
C'est aussi ce qu'il me semblait pour "public", mais je n'utilise jamais ces options (private etc)...

Pour les versions de php, en local PHP Version 5.3.3.
Chez 1and1 PHP Version 4.4.9...

Je vais essayer d'appeler le service technique qui aura peut être une réponse pour le chemin d'accès aux polices, merci pour la piste !

Bon weekend.

Frédéric
 
WRInaute impliqué
AAAaaaahh!! :mrgreen:

Ou sinon ce que tu peux faire c'est voir si t'as pas une version de fpdf disponible pour php4
 
Discussions similaires
Haut