Installing PECL Zip on Mac OS X Mavericks - macos

I'd like to install PECL Zip extension for my local web server but I'm getting an annoying error:
Lenny-MacBook-Pro:Downloads lenny$ pecl install zip-1.12.4.tgz
96 source files, building
WARNING: php_bin /Applications/MAMP/bin/php/php5.5.3/bin/php appears to have a suffix /php5.5.3/bin/php, but config variable php_suffix does not match
running: phpize
grep: /Applications/MAMP/bin/php/php5.5.3/include/php/main/php.h: No such file or directory
grep: /Applications/MAMP/bin/php/php5.5.3/include/php/Zend/zend_modules.h: No such file or directory
grep: /Applications/MAMP/bin/php/php5.5.3/include/php/Zend/zend_extensions.h: No such file or directory
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
ERROR: `phpize' failed
What do I have to install to make this work?
Thanks in advance

Related

fatal error: 'unicode/usprep.h' file not found when installing php mongodb

I'm trying to run
sudo /Applications/XAMPP/bin/pecl install mongodb
and i got
fatal error: 'unicode/usprep.h' file not found
I've found solutions using brew but on my mac I use mac ports, is there is a solution using port
Here is what I finally did, I've manually installed the php extension following those steps:
1.I've downloaded mongodb php source from
https://pecl.php.net/package/mongodb
2.Uncompress the tgz and go into the directory
3./Applications/XAMPP/xamppfiles/bin/phpize
4../configure --with-mongodb-sasl=no
5.make all
6.sudo make install
7.add extension=mongodb.so at the end of php.ini
et voila

Install grpc extension on Mac OS Big Sur

For 2 days now, I am trying to install grpc for php on my Mac mini server
Mac OS Big Sur 11.2.1
Built-in Apache
I have tried it on php 7.3 and 7.4 installed with homebrew
I have installed grpc pecl grpc install after a bunch of attempt I have finally compile and installed it with pecl.
extensions are placed in the good repertory. But I encounter signing issue.
php -m show grpc in the list but not php_info()
PHP Warning: PHP Startup: Unable to load dynamic library 'grpc.so' (tried: /usr/local/lib/php/pecl/20190902/grpc.so (dlopen(/usr/local/lib/php/pecl/20190902/grpc.so, 9): no suitable image found. Did find:\n\t/usr/local/lib/php/pecl/20190902/grpc.so: code signature in (/usr/local/lib/php/pecl/20190902/grpc.so) not valid for use in process using Library Validation: mapping process is a platform binary, but mapped file is not\n\t/usr/local/lib/php/pecl/20190902/grpc.so: stat() failed with errno=1), /usr/local/lib/php/pecl/20190902/grpc.so.so (dlopen(/usr/local/lib/php/pecl/20190902/grpc.so.so, 9): image not found)) in Unknown on line 0
I have disabled SIP. Still same issue.
I have codesigned the extension with my apple developper ID. codesign -f -s "Mac Developer: MY_DEV_ID" /usr/local/lib/php/pecl/20190902/grpc.so
same issue
I have xattr /usr/local/lib/php/pecl/20190902/grpc.so
then sudo xattr -d com.apple.quarantine /usr/local/lib/php/pecl/20190902/grpc.so
I also tried with gatekeeper disabled.
And still the same problem. Is there someone that sucssefully installed grpc on the Mac with Big Sur, who would have an idea on what is going wrong ?
I experienced the same thing, I have tried several times to install it and I just solved the problem.
In my case when running
sudo pecl grpc install
there was an error in the installation process with error information like
ERROR: failed to mkdir /usr/local/Cellar/php#7.4/7.4.15/pecl/20190902
see in the picture:
running pecl grpc install
The problem is that the installation process can't create a new directory for /usr/local/Cellar/php#7.4/7.4.15/pecl/20190902, so I tried to create that directory first by running the command:
mkdir /usr/local/Cellar/php#7.4/7.4.15/pecl/
Then run the installation process again and and it worked!
1. See Cellar/php/... directory:
for me:
for you:
ls -la /usr/local/Cellar/php/YOUR_PHP_VERSION/
2. See the directory "pecl" which is a link:
3. Check the link:
ls -la /usr/local/lib/php/pecl
if:
No such file or directory
execute:
mkdir -p /usr/local/lib/php/pecl
sudo chmod 777 /usr/local/lib/php/pecl/
4. Reinstall extension:
pecl install grpc

How to install memcache extension (php72, macos Catalina)

I can't install memcache (not memcached) extension on MacOs Catalina, php 7.2
checking for the location of zlib... configure: error: memcache support requires ZLIB. Use --with-zlib-dir=<DIR> to specify prefix where ZLIB include and library are located
ERROR: `/private/tmp/pear/temp/memcache/configure --with-php-config=/usr/local/opt/php#7.2/bin/php-config --enable-memcache-session=yes' failed
I try
pecl install memcache --with-zlib-dir=/usr/local/Cellar/zlib/1.2.11/include/zlib.h
But
Attempting to discover channel "--with-zlib-dir=/usr/local/Cellar/zlib/1.2.11/include"...
Attempting fallback to https instead of http on channel "--with-zlib-dir=/usr/local/Cellar/zlib/1.2.11/include"...
unknown channel "--with-zlib-dir=/usr/local/Cellar/zlib/1.2.11/include" in "--with-zlib-dir=/usr/local/Cellar/zlib/1.2.11/include/zlib.h"
invalid package name/package file "--with-zlib-dir=/usr/local/Cellar/zlib/1.2.11/include/zlib.h"
You're close... Your path should not to be the header file but to the directory. Also, pecl install doesn't pass the command line parameter in the script down to the ./configure command so you have to do it yourself:
pecl download memcache
open memcache-4.0.5.2.tgz
cd memcache-4.0.5.2/memcache-4.0.5.2
phpize
./configure --with-zlib-dir=/usr/local/Cellar/zlib/1.2.11
make
sudo make install
You can use env variable PHP_ZLIB_DIR to tell it where zlib is.
PHP_ZLIB_DIR=/usr/local/opt/zlib pecl install memcache

How to install php-redis extension on mac os 10.13?

For a few days I'm trying to install php-redis extension.
Try use brew and getting this...
$ brew install php71-redis
Error: No available formula with the name "php71-redis"
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
git -C "$(brew --repo homebrew/core)" fetch --unshallow
Error: No previously deleted formula found.
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
Trying to install with PECL and getting this...
$ sudo pecl install redis
downloading redis-4.1.0.tgz ...
Starting to download redis-4.1.0.tgz (220,774 bytes)
..............................................done: 220,774 bytes
25 source files, building
running: phpize
Configuring for:
PHP Api Version: 20160303
Zend Module Api No: 20160303
Zend Extension Api No: 320160303
************
************
checking whether to enable igbinary serializer support... yes
checking whether to enable lzf compression... yes
checking use system liblzf... no
checking for igbinary includes... configure: error: Cannot find igbinary.h
ERROR: `/private/tmp/pear/install/redis/configure --with-php-config=/usr/bin/php-config --enable-redis-igbinary=нуы --enable-redis-lzf=yes' failed
and finally trying to install igbinary.h ....
$ sudo pecl install igbinary
downloading igbinary-2.0.7.tgz ...
Starting to download igbinary-2.0.7.tgz (73,523 bytes)
************
************
Build process completed successfully
Installing '/usr/include/php/ext/igbinary/igbinary.h'
ERROR: failed to mkdir /usr/include/php/ext/igbinary
I just did this on Mac OS 10.13 (I'm still using High Sierra).
With homebrew php7.2 and up, pecl is now installed by default alongside the php binaries.
To see this for yourself type which pecl.
Steps to install
Check your version of redis, then find a suitable version of the extension here.
If unfamiliar with pecl, type pecl to see the options.
Issue pecl install redis 5.0.2. (or your version). Enter no to each question asked if you're not sure.
If that succeeds check the new file it created at: /usr/local/lib/php/pecl/20180731/redis.so
The install will have added extension="redis.so" to top of your php ini.
Check that by opening the file /usr/local/etc/php/7.3/php.ini.
(assuming you're on 7.3 there)
brew services restart php.
php -i | grep Redis
Redis Support => enabled
Redis Version => 5.0.2
Did this in September 2019 and it works for me.
For this, try to disable the csrutil on OSx (Mac):
Reboot your Mac
When the Mac starts, typo Command + R until you get into recovery mode
In the recovery mode, go to utilities and select terminal
in the terminal type csrutil disable
Reboot your mac and redo the redis install by pecl
Should work.

Compiling Python3.6 gives fatal error: zlib.h: No such file or directory

I want to compile python3 from source so I followed the instructions.
However, during the make command I get the error
./Modules/zlibmodule.c:10:18: fatal error: zlib.h: No such file or directory
How do I solve this without having to install zlib as I do not have root access. Is there a way to skip this file while compilation?
You can try and use python-dev instead, it includes header files, a static library and development tools for building Python modules, extending the Python interpreter or embedding Python in applications. To install this package, enter:
For Python version 3.x+
$ sudo apt-get install python3-dev

Resources