J'essaie d'exporter un document sur PDF à l'aide de Laravel & Dompdf. Cela fonctionne sur mon Mac, mais pas sur la mise en scène ou le serveur en direct. Erreur comme suit:
Je n'ai aucune idée de ce que cela signifie, et je ne trouve aucune solution. P>
J'ai essayé d'ajouter ce qui suit à .htaccess p> J'ai essayé d'ajouter ce qui suit au sommet de la vue que j'essaie de générer le PDF pour: p> Si vous avez besoin d'informations supplémentaires pour m'aider Débogage, s'il vous plaît demander aux commentaires. P> p> iconv_strlen (): mauvais charset, conversion de code> 8bit // ignore 'to
ucs-4le 'n'est pas autorisé code> p>
5 Réponses :
problème résolu. Merci Brians.
Ceci a été résolu en réinstallant la mbstring. p>
La solution de Brians résout en effet le problème, mais je pensais que ce serait intéressant d'expliquer ce qui a causé le problème initial.
dans le Dernière version de DompDF ,
php utilise généralement aucune de ces bibliothèques ne prend en charge un codage appelé Installation du module code> MBP (code> PHP Module cause @rofavadeka Une solution consiste à créer un
Fourchette de la
DOMPDF Repo et remplacez toutes les utilisations de
J'ai écrit un script pour déterminer quels codages conviennent.
Voici la sortie du script pour
CPDF code>
classe
contient environ 30 appels vers mb_strlen () code> avec le paramètre code> $ code> défini sur
'8 bits' code>, qui est un
codage valide pour
MB_strlen () code>
. P> compositeur.json code>
Nécessite patchwork / utf8 code>
. Il fournit le mb_strlen () code> shim
quels appels
iconv_strlen () code>. p>
glibc code> ou
libiconv code> pour son
iconv code>
module.
Pour les deux bibliothèques, la liste des codages pris en charge peut être
affiché en utilisant iconv -list code>. p>
'8bit' code>, c'est pourquoi
iconv_strlen () code>
jette cette erreur: p>
MB_strlen () code> à exécuter de manière nativement,
Donc, la cale n'est pas utilisée et l'erreur ne se produit pas. P>
Mise à jour h3>
'8bit' code> codage avec un codage différent à 8 bits qui est supporté par
mb_strlen () code>,
glibc code> et
libiconv code>. p>
glibc code>
et
Libiconv code>
.
Les codages appropriés sont: p>
CP850 CODE>
LI>
CP866 code>
li>
ISO-8859-1 code>
< / li>
ISO-8859-2 code>
< / li>
ISO-8859-4 code>
< / li>
ISO-8859-5 CODE>
< / li>
ISO-8859-9 code>
< / li>
ISO-8859-10 CODE>
< / li>
ISO-8859-13 code>
< / li>
ISO-8859-14 code>
< / li>
ISO-8859-15 code>
< / li>
ISO-8859-16 code>
< / li>
koi8-r code>
li>
koi8-u code>
li>
ul> p>
Il y a donc un moyen de changer le codage «8 bits» ou de contourner ce problème? Avoir le problème samen, mais sur l'hébergement partagé, si malheureusement, je ne peux pas simplement réinstaller pour résoudre le problème! J'espère que vous pourrez me signaler dans la bonne direction.
Je reçois cette erreur dans Activer sous Windows La solution est la solution: retirez le point-virgule avant p> hachage: make () code> pendant l'ensemencement mon dB pour tester.
php_mbstring code> dans
php-cli.ini < / Code> l'a causé. p>
Voulez-vous dire, dans php.ini code>?
Si vous utilisez WHM, vous pouvez utiliser Easyapache pour reconstruire. Une fois que vous avez obtenu les options de modules après avoir sélectionné votre version de PHP, sélectionnez le bouton "Liste des options exhaustives". Ensuite, ctrl + f "mbstring" et il devrait venir. Marquez la case à cocher et reconstruire. Cela devrait fonctionner. P>
Si vous êtes sur WAMP ou une pile personnalisée, rappelez-vous que le Solution dans ce répertoire, vous trouverez divers fichiers Ceci Je m'avais tiré des poils pendant une longue distance, pensais que cela pourrait aider quelqu'un. p> p> php code> dans votre wamp peut utiliser une personnalisation
php_something.ini code> pour l'utilisation de Apache, en raison de laquelle même si le wamp interface graphique montre que
mbstring code> est
php.ini code> ( véritable histoire < /quel>).
.ini code> nommé légèrement différemment, le mien utilisait
php_uwamp.ini code> pour la pile mais pour le
cli code>,
php code> utilisait le fichier adjacent nommé
php.ini code>. p>
On dirait que le problème est dans la cale de compatible mbstring fournie par patchwork. C'est à dire. Votre serveur n'a pas de mbstring activé et quelque chose dans le shim ne fonctionne pas très bien comme prévu. Cela aiderait à savoir ce qui appelle la fonction
mb_strlen code>. Pouvez-vous obtenir une trace de pile?
Problème résolu. Merci Brians. Problème résolu par réinstaller la mbstring.
sudo yum -disablepo = "*" --enablerepo = "remi *" Installez php-mbstring * sudo httpd -k redémarrer code>
^^ Vous devriez faire une solution en répondant à votre propre question. Pouvez-vous également expliquer comment vous exécutez ce processus.
@ Gravy J'ai eu le même problème et mettez à jour PHP-Mbstring ici le résolu ici. Vous devriez poster une réponse à votre question avec ce que vous avez fait pour le résoudre!