php startup error Invalid library (maybe not a PHP library) 'pcntl.so'
Solution 1
I solved my problem now, with some help from this post stackoverflow answer how-to-enable-process-control-extension-pcntl-in-php-mamp.
First I switched to the source directory of the pcntl extension /src/php-5.3.17-cli/ext/pcntl
.
There I ran the following commands in the shell:
phpize
./configure
make
Then the extension was created at /src/php-5.3.17-cli/ext/pcntl/modules
and I copied it in the right directory with cp /src/php-5.3.17-cli/ext/pcntl/module/pcntl.so /usr/lib/php5/20090626/
.
Now the extension works for my php-cli installation.
Thank you @terdon for your answer it pushed me a bit in the right direction.
Solution 2
You should have a file called pcntl.so
in the modules
subdirectory of the directory where you built php. Copy that to /usr/lib/php5/20090626/
:
sudo cp PHP_BUILD_DIR/modules/pcntl.so /usr/lib/php5/20090626/
Obviously, change PHP_BUILD_DIR
to the directory where you compiled php.
Related videos on Youtube
And-y
Updated on September 18, 2022Comments
-
And-y over 1 year
After searching for hours to solve my problem and found nothing helpful I ask my first question here.
I want to compile and install php 5.3.17 cli with pcntl extension enabled on a Debian server. The installation was successfull but when I start php cli, the following error is displayed:
PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) 'pcntl.so' in Unknown\ on line 0
The following configure is used:
'./configure' '--prefix=/usr/share' '--datadir=/usr/share/php' '--bindir=/usr/bin' '--libdir=/usr/share' '--includedir=/usr/include' '--with-config-file-path=/etc/php5/cli' '--disable-cgi' '--enable-bcmath' '-- enable-inline-optimization' '--enable-mbstring' '--enable-mbregex' '--enable-pcntl' '--enable-sigchild' '--enable-shmop' '--enable-sysvmsg' '--enable-sysvsem' '--enable-sysvshm' '--with-mysql' '--with-imap' '--with-imap-ssl' '--with-kerberos'
In the php.ini following options are set:
extension_dir=/usr/lib/php5/20090626/ extension=pcntl.so
I hope someone can help me.
-
And-y over 11 yearsAfter finishing the build of php the
pcntl.so
extension was created at/usr/share/extensions/no-debug-non-zts-20090626/
and I copied it to/usr/lib/php5/20090626/
. When thepcntl.so
file is not in the directory the following error message occurse:PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626/pcntl.so' - usr/lib/php5/20090626/pcntl.so: cannot open shared object file: No such file or directory in Unknown on line 0
So I think the file is at the right place.