Compilare și instalare PHP pe Mac OSX Ventura 13.1
Folosesc foarte mult mac-ul pentru dezvoltare, inclusiv dezvoltare web. O dată cu OSX Monterrey, Apple a renunțat să includă PHP în sistemul de operare, considerând PHP o vulnerabilitate ne-necesară. Ca atare, unicul mpd în care poți instala și folosi PHP este compilarea din surse. Mai jos etapele.
Descărcare surse
Se crează un folder pentru surse și se descarcă distribuția dorită. Acest exemplu include PHP 8.2.0
tom@MacBook-Pro-Miron src % pwd
/Users/tom/Downloads/php/src
tom@MacBook-Pro-Miron src %
Pentru descărcare utilizez curl
tom@MacBook-Pro-Miron src % man curl
curl(1) curl Manual curl(1)
NAME
curl - transfer a URL
SYNOPSIS
curl [options / URLs]
DESCRIPTION
curl is a tool for transferring data from or to a server. It supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP,
HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET or TFTP. The command is
designed to work without user interaction.
:
tom@MacBook-Pro-Miron src % curl --location --output php-8.2.0.tar.gz https://www.php.net/distributions/php-8.2.0.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 19.1M 100 19.1M 0 0 7846k 0 0:00:02 0:00:02 --:--:-- 7865k
tom@MacBook-Pro-Miron src % ls -lsa
total 40696
0 drwxr-xr-x 3 tom staff 96 15 Dec 21:05 .
0 drwxr-xr-x 3 tom staff 96 15 Dec 20:43 ..
40696 -rw-r--r-- 1 tom staff 20054375 15 Dec 21:05 php-8.2.0.tar.gz
tom@MacBook-Pro-Miron src %
tom@MacBook-Pro-Miron src % tar -xzvf php-8.2.0.tar.gz
tom@MacBook-Pro-Miron src % cd php-8.2.0
Compilare PHP
Configurare și erori
Comanda ./configure
crează un fișier Makefile
necesar compilării surselor. Mai multe informații despre Makefile.
tom@MacBook-Pro-Miron php-8.2.0 % ./configure
Configurarea se va termina cu o eroare:
checking whether to build with LIBXML support... yes
checking for libxml-2.0 >= 2.9.0... no
configure: error: in `/Users/tom/Downloads/php/src/php-8.2.0':
configure: error: The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
Alternatively, you may set the environment variables LIBXML_CFLAGS
and LIBXML_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
To get pkg-config, see <http://pkg-config.freedesktop.org/>.
See `config.log' for more details
tom@MacBook-Pro-Miron php-8.2.0 %
pkg-config
nu este instalat:
tom@MacBook-Pro-Miron php-8.2.0 % which pkg-config
pkg-config not found
Compilare și instalare pkg-config
tom@MacBook-Pro-Miron src % curl https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz -o pkgconfig.tgz
tom@MacBook-Pro-Miron src % tar -zxf pkgconfig.tgz
tom@MacBook-Pro-Miron src % cd pkg-config-0.29
tom@MacBook-Pro-Miron pkg-config-0.29 % ./configure --with-internal-glib
tom@MacBook-Pro-Miron pkg-config-0.29 % make install
Instalare command line developer tools
tom@MacBook-Pro-Miron src % xcode-select --install
Odată cu versiunea OSX 10.14, Apple a încetat să mai includă header-ele în command line tools. Actualmente, SDK-ul este parte din pachetul XCode.app. Rădăcina se găsește cu comanda:
tom@MacBook-Pro-Miron src % xcrun --sdk macosx --show-sdk-path