it-swarm.dev

Instalace Yosemite/El Capitan php-Gd + mcrypt

Jak nainstalovat/enable php-Gd a mcrypt v Yosemite 10.10 - PHP 5.5.14 sestavit?

všimněte si, že následující kroky instalují nejnovější PHP 5.5.x

Chcete-li zkontrolovat, zda máte nainstalovaný Gd a mcrypt, použijte $ php -m k zobrazení zkompilovaného v modulech, pokračujte, pokud chybí požadované moduly a prosím viz přijatá odpověď


Gd

Takže Apple nainstaloval Gd (a používáte jejich sestavení PHP, což je v pořádku), ale neobsahoval podporu pro PNG.

Určitě chybí modul "full" Gd (s podporou png), pokud: imagecreatefrompng () function chybí.

"Call to undefined function imagecreatefrompng()"

enter image description here


Mcrypt

nainstalovat vařit pomocí přijaté odpovědi a vynechat část s instalací Gd (pokud to nepotřebujete) a použít následující kroky:

  1. do vyhledávání - $ brew search mcrypt
  2. vyberte verzi PHP, kterou chcete
  3. install - $ brew install php55-mcrypt
  4. potvrďte pomocí $ php -m | grep mcrypt

Chcete přepínat mezi verzemi PHP?

Podívejte se na brew-php-switcher a postupujte podle pokynů.

50
Kyslik

Máte pravdu, vestavěný PHP Yosemite je bez podpory PNG a FreeType.
Aktualizace 2015/10 pro El Captian: S operačním systémem OS X 10.11 je podpora pro El Capitan PNG zpět, ale systém FreeType stále chybí. 

Řešení

Použijte správce balíčků Homebrew, abyste bezbolestně vytvořili a nainstalovali kompletní PHP a nahradili jej konfigurací Apache. Pokud postupujete podle níže uvedených kroků, celý proces trvá pouze asi deset minut. 

Rychlá (ale úplná) procházka

(Poznámka 1: Používám Homebrew zde, systém pro správu balíčků pro OS X. Pokud jste obeznámeni s MacPorts - jiným správcem balíčků - můžete s tímto systémem dosáhnout stejných výsledků. Je také možné použít mé řešení Homebrew paralelně s existující instalací MacPorts na vašem počítači.)
(Poznámka 2: Pokud si chcete přečíst všechny podrobnosti o procesu instalace, podívejte se na Homebrew základní instalaci a Homebrew PHP instalaci informace. opravdu nebudete potřebovat, pokud budete postupovat podle těchto kroků.)

Pojďme ...

První instalace Xcode z App Store . Pokud ji již máte, zkontrolujte znovu App Store, abyste se ujistili, že máte nejnovější verzi!

Nyní musíte nainstalovat Xcode Command Line Tools. Otevřete Terminál a zadejte:

xcode-select --install

Další příkaz nainstaluje systém správce balíčků Homebrew:

Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Skript vysvětluje, co bude dělat a pak se pozastaví, než to udělá.

Další příkaz k zadání je druh testu stavu systému:

brew doctor

To zkontroluje základy instalace Homebrew.
Dostal jsem varování "Máte nainstalovaný MacPorts nebo Fink:/opt/local/bin/port ..." který jsem úspěšně ignoroval. ;)

Nyní nastavte homebrew/dupes tap, který má závislosti, které potřebujeme:

brew tap homebrew/dupes

Nastavení homebrew/verzí, které má také závislosti, které potřebujeme:

brew tap homebrew/versions

Potom spusťte následující příkaz:

brew tap homebrew/homebrew-php

Nyní jste připraveni konečně vytvořit PHP. Seznam dostupných možností konfigurace můžete spustit:

brew options php55
brew options php56

Ale já jsem byl v pohodě jen pomocí výchozích hodnot.
Chcete-li tak učinit, zadejte JEDEN z těchto dvou, v závislosti na vašich potřebách:

brew install php55
brew install php56

(To chvíli trvá, buďte trpěliví!)

při instalaci php56 (5.6.x) na Yosemite (10.10.5) je chyba, prosím, podívejte se na tento problém na github. místo toho použijte brew install php56 --without-ldap.

Pokud se vám zobrazí chyba typu "Nelze najít OpenSSL" jste nenainstalovali Xcode Command Line Tools, jak jsem vám řekl na začátku. ;) Pokračujte, nainstalujte je a znovu spusťte tento poslední příkaz.

PHP je nyní postaveno a skript skončí s podrobnostmi o jeho použití:

Otevřete soubor httpd.conf (měl by být umístěn v adresáři /private/etc/Apache2/httpd.conf) a povolit PHP přidáním JEDNÉ těchto dvou řádků v závislosti na tom, která verze PHP jste právě nainstalovali:

LoadModule php5_module /usr/local/opt/php55/libexec/Apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/Apache2/libphp5.so

Nezapomeňte komentovat všechny existující LoadModule php5_module ...řádek, který může být přítomen ve vlastní verzi PHP společnosti Yosemite!

Restartujte Apache

Sudo apachectl restart

Váš nový soubor php.ini lze nalézt v: /usr/local/etc/php/5.5/php.ini

Užívat si!

80
Jpsy

Odpověď z @ Jpsy je dobrá, ale je tu další možnost, od kluků z liipu, tady . Jedná se o balíček PHP, který je přednastaven pro Yosemite (starší verze také fungují), ale je to jen jeden řádek kódu:

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

Poté je vše připraveno pracovat podle očekávání. Konfigurace, která probíhá s touto instalací, se dobře hodí pro vývoj Symfony 2, ale měla by fungovat s dalšími případy použití.

Pokud potřebujete také použít aktualizovaný CLI PHP, ale nechcete používat verzi PHP, která je dodávána s operačním systémem, můžete také přidat do svého souboru .bash_profile nebo podobného. řádek kódu:

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

21

Nemám dostatek rep, abych mohl napsat komentář, ale pokud používáte OS X Server pro Yosemite (verze 4 z App Store), soubor, který chcete upravit, je: 

/library/server/web/config/Apache2/httpd_server_app.conf

moje vypadá nyní a potvrdil, že pracuje po použití php 5.6 z homebrew.

#LoadModule php5_module libexec/Apache2/libphp5.so
LoadModule php5_module /usr/local/opt/php56/libexec/Apache2/libphp5.so
3
user1618341

Standardní Apache přichází s Yosemite soubor aktualizovat po

Sudo brew install php55

je v /etc/Apache2/httpd.conf

Místo php.ini je také změněno. Standardní s Yosemite je v /etc/php.ini, ten s homebrewed verzí je v /usr/local/etc/php/5.5/php.ini

0
a7d0rn