Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

biblioth=c3=a8que pdf pour php

5 réponses
Avatar
Jose CHARTERS
Bonsoir,

Il y a quelques années, j'ai développé un petit site en php. Je devais
générer un document en pdf et j'ai utilisé la librairie fpdi. C'était
l'époque de Debian 8, Jessie.

Je refais maintenant mon serveur en debian 9 ( oui, je sais nous sommes
en debian 10, mais ce serveur a été construit à l'époque de debian 10).
Je transfère mon petit site sur ce serveur et j'ai oublié cette histoire
de bibliothèque et la génération du document ne fonctionne pas. Normal,
il n'y a pas la librairie fpdi.

La surprise est que cette librairie, libfpdi-php, existe bien mais elle
dépend de php5 ou de php5-cli. Or ces paquets n'exitent pas dans cette
version de debian (ni sur débian 10). Donc pas possible de l'installer.

J'ai cherché sur le net. J'ai trouvé cette librairie. J'ai essayé de
l'installé, mais sans succès. Il m'a fallut décompacter le paquet,
l'installer sur un répertoire accéssible du site et mettre dans le php
la ligne : require_once(chemin/vers/src/autoload.php). Mais la librairie
n'est pas récupérée.

Quelqu'un connaît-il cette librairie ? Et pourrais m'aider à sortir de
cette impasse.

Merci,

Cordialement,

José

5 réponses

Avatar
ajh-valmer
Tu es bien sous php5 ?
Il semble que Debian 9 = php5 et Debian 10 = php7.
Il n'y aurait pas un conflit entre les 2 versions de php ?
(donc de librairies php pas installables suivant la version de php
installée ?)
On Sunday 06 September 2020 21:12:42 Jose CHARTERS wrote:
Il y a quelques années, j'ai développé un petit site en ph p. Je devais
générer un document en pdf et j'ai utilisé la librairie fp di. C'était
l'époque de Debian 8, Jessie.
Je refais maintenant mon serveur en debian 9 ( oui, je sais nous sommes
en debian 10, mais ce serveur a été construit à l'épo que de debian 10).
Je transfère mon petit site sur ce serveur et j'ai oublié cette histoire
de bibliothèque et la génération du document ne fonctionne pas. Normal,
il n'y a pas la librairie fpdi.
La surprise est que cette librairie, libfpdi-php, existe bien mais elle
dépend de php5 ou de php5-cli. Or ces paquets n'exitent pas dans cet te
version de debian (ni sur débian 10). Donc pas possible de l'install er.
J'ai cherché sur le net. J'ai trouvé cette librairie. J'ai essa yé de
l'installé, mais sans succès. Il m'a fallut décompacter le paquet,
l'installer sur un répertoire accéssible du site et mettre dans le php
la ligne : require_once(chemin/vers/src/autoload.php). Mais la librairie
n'est pas récupérée.
Quelqu'un connaît-il cette librairie ? Et pourrais m'aider à so rtir de
cette impasse.
Avatar
Jose CHARTERS
Le 06/09/2020 à 23:22, ajh-valmer a écrit :
Tu es bien sous php5 ?
Il semble que Debian 9 = php5 et Debian 10 = php7.
Il n'y aurait pas un conflit entre les 2 versions de php ?
(donc de librairies php pas installables suivant la version de php
installée ?)

Bonsoir,
Je suis sous php7. Debian 9 est déjà avec php7 et ne contient plus le
paquet php5. D'où le problème.
Cordialement,
José Charters
Avatar
Jose CHARTERS
Le 07/09/2020 à 05:36, Dethegeek a écrit :
Apparemment ta librairie est utilisable avec le gestionnaire de
paquets composer et est compatible PHP 7
https://packagist.org/packages/setasign/fpdi
Basculer vers composer me semble un meilleur choix que s'appuyer sur
des paquets de l'OS, tant que ton projet n'a pas vocation à être
distribué comme paquet debian.

Bonsoir,
J'ai bien vu cette possibilité, mais je n'ai pas compris en quoi cela
consiste.
Je vois bien l'utilisation mais je ne vois pas l'installation. J'ai dû
loupé quelque chose ou je n'ai rien compris.
Cordialement,
José Charters
Avatar
Jose CHARTERS
Le 07/09/2020 à 20:54, Dethegeek a écrit :
Donc, pour ton projet, commence par en faire une copie, ou mieux, gère le
avec git, si tu maîtrises ses bases.
Ensuite installe composer en suivant la procédure disponible sur
http://getcomposer.org <http://getcomposer.org>. Personnellement je
l'installe dans /usr/bin . Je ne descend pas composer depuis apt car il a
tendance à être un peu vieux.
Une fous fait, vérifie que tu peux l'appeler comme n'importe quelle
commande :
Composer --version
Rends toi à la racine de ton projet, et tape
composer init
Il te posera quelques questions notamment pour des meta données (auteur,
licence, ...).
À la racine de ton projet tu auras de nouveaux fichiers :
composer.json
composer. lock
Et un dossier vendor.
Installe ta librairie avec
composer require setasign/fpdi
La commande provient de cette page :
https://packagist.org/packages/setasign/fpdi
Note : http://packagist.org est le site qui sert de "magasin" de
librairies.
Une fois que composer a résolu les dépendances de ton projet et de ta
nouvelle librairie tu pourras utiliser l'autoload que composer a
préparé pour accéder à toutes tes librairies.
Cela se fait en PHP avec
require 'vendor/autoload.PHP'
Enfin, adapte ton projet en fonction si tu utilisais une méthode
d'autoload antédiluvienne. (Comme des include ou des require en masse
un peu partout)

Bonsoir,
Merci, j'ai réussi à installer cette librairie.
Par contre, j'ai installer composer avec apt-get, il ne voulait pas
autrement.
Ensuite, j'ai un peu tatonner mais cela à fini par fonctionner.
Bonne soirée,
José Charters
Avatar
Jose CHARTERS
Le 07/09/2020 à 22:41, Dethegeek a écrit :
Si tu as d'autres librairies dans le projet, par cohérence, tu devrais
les "convertir" à composer. Ton projet deviendra plus simple à maintenir.

Bonsoir,
Si je comprends bien, composer installe les librairies dans le
répertoire racine du site.
Ce qui fait, qu'en cas de migration, et de changement de système, le
fait de copier le répertoire sur la nouvelle machine, les librairies
seront également copiées. Et les librairies ne seront plus manquantes.
Ai-je bien compris ?
Cordialement,
José Charters