web-dev-qa-db-fra.com

Après la mise à niveau, PHP ne prend plus en charge les opérations PNG

Après la mise à jour vers Mac OS X 10.10 (Yosemite) et le démarrage d'Apache avec le support PHP, tout fonctionne comme avant, à l'exception des opérations d'image sur les fichiers PNG. Je reçois Call to undefined function imagecreatefrompng(), alors que toute opération sur les fichiers JPEG fonctionne. Donc, D.ieu est présent, mais pas pour la PNG.

Il y a une ligne dans phpinfo() qui ressemble au problème: '--with-png-dir = no' 

phpinfo()

La section Gd de phpinfo():

Enter image description here

Comment est-ce que je peux inclure les éléments inclus PHP avec les fichiers PNG?

16
Rainer Mohr

Voici une autre option, des gars de liip, ici . Ceci est un paquetage PHP qui est pré-construit pour Yosemite (les versions antérieures fonctionnent aussi) mais il ne s'agit que de une ligne de code:

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5

Après cela, tout est prêt à fonctionner comme prévu. La configuration utilisée avec cette installation convient bien au développement de Symfony 2, mais elle devrait parfaitement fonctionner avec d'autres cas d'utilisation.

Enfin, si vous devez également utiliser la CLI PHP mise à jour, mais que vous ne souhaitez pas utiliser la version PHP fournie avec le système d'exploitation, vous pouvez également ajouter à votre .bash_profile ou similaire le suivant. ligne de code:

export PATH=/usr/local/php5/bin:$PATH

23

J'ai dû résoudre ce problème en installant à nouveau PHP 5.5 via Homebrew. Assez indolore:

https://github.com/Homebrew/homebrew-php

Les instructions d'installation peuvent être trouvées ici: https://github.com/Homebrew/homebrew-php#usage

J'ai utilisé la commande brew install php55

N'oubliez pas de mettre à jour votre httpd.config - les instructions seront affichées à la fin de l'installation de homebrew.

5
jtotheh

Comme @jtotheh l'a dit, l'installation d'une version complète PHP avec le support PNG et FreeType compilé est la voie à suivre. 

Si vous ne souhaitez pas modifier ce processus, j'ai préparé des instructions complètes étape par étape en réponse à une question similaire: https://stackoverflow.com/a/26505558/430742

1
Jpsy