Bug #78900 [Opn->Fbk]: Won't install anymore to /user/includes/php, needs to install to /usr/local/php
| From: | derick@php.net | Date: | Tue, 03 Dec 2019 10:43:55 +0000 |
| Subject: | Bug #78900 [Opn->Fbk]: Won't install anymore to /user/includes/php, needs to install to /usr/local/php | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-224021@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=78900&edit=1
ID: 78900
Updated by: derick@php.net
Reported by: bugs dot php dot net at mammals dot se
Summary: Won't install anymore to /user/includes/php, needs
to install to /usr/local/php
-Status: Open
+Status: Feedback
Type: Bug
Package: *Directory/Filesystem functions
Operating System: Mac OS 10.13.6
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
If you say that php already is in /usr/local/php, then there should be a "pecl" executable
in that directory too. Are you sure you're using that one for installing the extension?
If you are then it is possible that the pecl tool has picked up an old configuration (~/.pearrc)
which still thinks the extensions should live in another path. You can use "pecl
config-show" to tell you where it thinks extensions should be installed too (ext_dir).
Previous Comments:
------------------------------------------------------------------------
[2019-12-03 10:09:40] bugs dot php dot net at mammals dot se
Description:
------------
Apple has decided to protect a lot of directories in Mac OS, starting with version 10.13.X so even
superusers (sudo command) and/or root can't touch a lot of directories. This means everything
must be installed in those directories that a regular user or a sudo user has access to. I.e
/user/local, not /usr/inclides/php/ext/
Se here: About System Integrity Protection on your Mac
OS X El Capitan and later includes security technology that helps protect your Mac from malicious
software.
https://support.apple.com/en-gb/HT204899
The build process for imagick starts like this:
sudo pecl install imagick
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update
pecl.php.net" to update
downloading imagick-3.4.4.tgz ...
And ends like this:
Build process completed successfully
Installing '/usr/include/php/ext/imagick/php_imagick_shared.h'
ERROR: failed to mkdir /usr/include/php/ext/imagick
Because /usr/includes is not somehting an installer/root/sudo has access to write to anymore. There
is no way to for instance chown on thoose folder, create a folder elsewhere and copy it to that
folder etc. Because of the protection.
One could turn SIPS off, https://www.howtogeek.com/230424/how-to-disable-system-integrity-protection-on-a-mac-and-why-you-shouldnt/
but a way better solution is to get the installer of Imagick to install in the correct place,
/usr/local where PHP already resides?
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=78900&edit=1