Мені потрібно встановити на ламповому сервері саме такі розширення php, які встановлені на старий сервер, як точно знати, які розширення встановлені для того, щоб встановити те саме на новому сервері?
Мені потрібно встановити на ламповому сервері саме такі розширення php, які встановлені на старий сервер, як точно знати, які розширення встановлені для того, щоб встановити те саме на новому сервері?
Відповіді:
Ви можете використовувати параметр командного рядка , -m
щоб php
побачити , що встановлені модулі.
$ php -m | head
[PHP Modules]
bz2
calendar
ctype
curl
date
dbase
dom
exif
fileinfo
...
Ви також php -i
можете отримати phpinfo();
вихід через командний рядок, який також міститиме цю інформацію.
Якщо розширення насправді використовується, його потрібно буде php.ini
десь посилати . Розширення завантажуються досить інтуїтивно:
extension=msql.so
extension=/path/to/extension/msql.so
тощо.
На що слід звернути увагу - це розширення, які вносяться додатковими ini
файлами, що включаються. Я не впевнений у Debian, але в RHEL є /etc/php.d/
каталог, де всі .ini
файли обробляються так, ніби вони були в головному/etc/php.ini
Якщо він знаходиться не в одному з цих двох місць (основний php.ini
або один із включених файлів), то розширення більш-менш просто сидить у файловій системі, яка не використовується.
Редагувати:
Власне, я думаю, що збрехав. Можливо, вам доведеться переглянути ваші php-файли для дзвінків на dl () . Я не знаю багатьох людей, які завантажують такі розширення. Навіть не впевнений, яким би був випадок використання, але це, мабуть, слід перевірити.
У Debian розширення PHP завантажуються через файли в /etc/php5/conf.d
Тут можуть бути встановлені два типи пакунків PHP Debian:
Для списку обох у вашій системі, ви можете використовувати цю команду: dpkg -l | grep 'ii php5 \? -', який перераховує встановлені пакети, починаючи з php- або php5-.
Ви також можете мати розширення, створені за допомогою PECL з вихідного коду. Список тих, хто: pecl list
Нарешті, можна скласти власні розширення старомодно. У цьому випадку вони можуть не мати файлу в /etc/php5/conf.d, але вони можуть бути додані до php.ini.
Усі розширення зазвичай мають розділ виводу з phpinfo (); . php -m покаже перелік розширень, які PHP завантажив (кожне з яких повинно мати місце у виході phpinfo). Буде набагато більше розширень, перелічених у виводі php -m, ніж вони встановлені як додаткові пакети в Debian, оскільки в PHP існує безліч розширень за замовчуванням, а також тих, які можна встановити згодом.
Ось приклад виводу з машини розробки, що перераховує додатково встановлені розширення PHP:
root@zaphod:~# dpkg -l | grep 'ii php5\?-'
ii php-auth-sasl 1.0.4-1 all Abstraction of various SASL mechanism responses
ii php-db 1.7.14-2 all PHP PEAR Database Abstraction Layer
ii php-mail 1.2.0-4 all PHP PEAR module for sending email
ii php-mail-mime 1.8.4-1 all PHP PEAR module for creating MIME messages
ii php-mail-mimedecode 1.5.5-1 all PHP PEAR module to decode MIME messages
ii php-net-smtp 1.6.1-1 all PHP PEAR module implementing SMTP protocol
ii php-net-socket 1.0.9-2 all PHP PEAR Network Socket Interface module
ii php-pear 5.4.39-0+deb7u2 all PEAR - PHP Extension and Application Repository
ii php-xml-parser 1.3.4-6 all PHP PEAR module for parsing XML
ii php5-cgi 5.4.39-0+deb7u2 amd64 server-side, HTML-embedded scripting language (CGI binary)
ii php5-cli 5.4.39-0+deb7u2 amd64 command-line interpreter for the php5 scripting language
ii php5-common 5.4.39-0+deb7u2 amd64 Common files for packages built from the php5 source
ii php5-curl 5.4.39-0+deb7u2 amd64 CURL module for php5
ii php5-dev 5.4.39-0+deb7u2 amd64 Files for PHP5 module development
ii php5-gd 5.4.39-0+deb7u2 amd64 GD module for php5
ii php5-imagick 3.1.0~rc1-1+b2 amd64 ImageMagick module for php5
ii php5-imap 5.4.39-0+deb7u2 amd64 IMAP module for php5
ii php5-intl 5.4.39-0+deb7u2 amd64 internationalisation module for php5
ii php5-mcrypt 5.4.39-0+deb7u2 amd64 MCrypt module for php5
ii php5-mysql 5.4.39-0+deb7u2 amd64 MySQL module for php5
ii php5-pgsql 5.4.39-0+deb7u2 amd64 PostgreSQL module for php5
ii php5-sqlite 5.4.39-0+deb7u2 amd64 SQLite module for php5
ii php5-suhosin-extension 0.9.37-2 amd64 advanced protection system for PHP5
ii php5-sybase 5.4.39-0+deb7u2 amd64 Sybase / MS SQL Server module for php5
ii php5-xdebug 2.2.1-2 amd64 Xdebug Module for PHP 5
root@zaphod:~# pecl list
Installed packages, channel pecl.php.net:
=========================================
Package Version State
APC 3.1.13 beta
memcache 3.0.8 beta