Howto: Enable PCNTL in Ubuntu PHP installations
怎樣啟用Ubuntu(deb包)安裝PHP的PCNTL
PCNTL in PHP allows for some handy advanced “trickery” using the OS process functions inherent in Linux (*nix?). I believe some features are available in Windows, but I know for certain that pcntl_fork() is not.
Anyway, it is not enabled by default, so if you want to take advantage of the functions on your Ubuntu LAMP server, you might spend hours searching the web for that magic aptitude command. But, as far as I can tell, it doesn’t exist.
Luckily, I stumbled across this article on the Ubuntu forums, so I’m dedicating a post here with the hopes that other will find it more easily.
Please note that you’ll probably need build-essentials and a few other source compilation basics, but as long as you have that, the following code will get you what you want.
First, in your home directory:
上面大致介紹了PNCTL的好處,但是預設在linux下是沒有啟用這個功能的,在這裡作者使用的是Ubuntu下的LAMP安裝,通過一下過程就可以開啟需要的功能
mkdir php
cd php
apt-get source php5
cd php5-(WHATEVER_RELEASE)/ext/pcntl
phpize
./configure
make
Then:
cp modules/pcntl.so /usr/lib/php5/WHEVER_YOUR_SO_FILES_ARE/
拷貝so檔案到php5的擴充目錄
echo "extension=pcntl.so" > /etc/php5/conf.d/pcntl.ini
修改設定檔,在deb安裝的環境下擴充配置是都是獨立的檔案
FYI: “make install” does not appear to put the files in the correct place.
可能使用make install並不能拷貝檔案到php擴充目錄,經過測試是可以的,如果是普通使用者,需要使用sudo來執行。