Cloning: Difference between revisions
No edit summary |
No edit summary |
||
| Line 55: | Line 55: | ||
== Replicating a PHP installation == | == Replicating a PHP installation == | ||
With the PHP CLI installed, you can use <code>php -m</code> to get a list of the compiled-in modules for your PHP installation. This is the same as you would find by using the <code>phpinfo();</code> function in a script, except that you get exactly the info you need, in a list format that you can use. That list can show you what you might need to install on another host to ensure that each host is compatible for the software you're running. However, it won't show you the name of the actual packages that you need to install. So, if you want to know what PHP packages are installed, you can do the following | |||
<source lang="bash"> | <source lang="bash"> | ||
# On system A, get a list of the php packages that are installed | # On system A, get a list of the php packages that are installed | ||
## apt-based package manager: Debian, Ubuntu | |||
dpkg --get-selections |grep -v deinstall | grep php5- | awk 'ORS=" " { print $1 }' | dpkg --get-selections |grep -v deinstall | grep php5- | awk 'ORS=" " { print $1 }' | ||
## yum-based package manager: RedHat, CentOS, Fedora | |||
yum list installed | grep php5 | awk 'ORS=" " { print $1 }' | |||
# On system B, install those packages | # On system B, install those packages | ||
sudo apt-get install [LIST FROM A] | sudo apt-get install [LIST FROM A] | ||
</source> | </source> | ||
If system A and system B use different package managers, then the best you can do is get the list of the modules from each system and compare them. In our <code>diff</code>, we'll use the system we're moving from on the left, because <code>diff</code> is quirky and will show lines that 'differ' with a pipe symbol; thus it's less error-prone to print the first column with awk. | |||
<source lang="bash"> | |||
A=webfaction.php.modules.txt | |||
B=digital.ocean.php.modules.txt | |||
diff --suppress-common-lines --side-by-side $A $B | |||
</source> | |||
It's not perfect, but now we have a good list of the modules to search and install. | |||
<pre> | |||
> | |||
curl | |||
> | |||
gd | |||
gmp | |||
imap | |||
intl | |||
ionCube | |||
ldap | |||
mailparse | |||
mcrypt | |||
memcache | |||
mysqlnd | |||
> | |||
pdo_pgsql | |||
pdo_sqlite | |||
pgsql | |||
pspell | |||
> | |||
sqlite3 | |||
tidy | |||
> | |||
> | |||
> | |||
xmlrpc | |||
xsl | |||
the | |||
> | |||
</pre> | |||
<source lang="bash"> | |||
apt-cache search php5- | |||
</source> | |||
<pre> | |||
php5-cgi - server-side, HTML-embedded scripting language (CGI binary) | |||
php5-cli - command-line interpreter for the php5 scripting language | |||
php5-common - Common files for packages built from the php5 source | |||
php5-curl - CURL module for php5 | |||
php5-dbg - Debug symbols for PHP5 | |||
php5-dev - Files for PHP5 module development | |||
php5-gd - GD module for php5 | |||
php5-gmp - GMP module for php5 | |||
php5-json - JSON module for php5 | |||
php5-ldap - LDAP module for php5 | |||
php5-mysql - MySQL module for php5 | |||
php5-odbc - ODBC module for php5 | |||
php5-pgsql - PostgreSQL module for php5 | |||
php5-pspell - pspell module for php5 | |||
php5-readline - Readline module for php5 | |||
php5-recode - recode module for php5 | |||
php5-snmp - SNMP module for php5 | |||
php5-sqlite - SQLite module for php5 | |||
php5-tidy - tidy module for php5 | |||
php5-xmlrpc - XML-RPC module for php5 | |||
php5-xsl - XSL module for php5 | |||
libphp5-embed - HTML-embedded scripting language (Embedded SAPI library) | |||
php5-adodb - Extension optimising the ADOdb database abstraction library | |||
php5-apcu - APC User Cache for PHP 5 | |||
php5-enchant - Enchant module for php5 | |||
php5-exactimage - fast image manipulation library (PHP bindings) | |||
php5-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary) | |||
php5-gdcm - Grassroots DICOM PHP5 bindings | |||
php5-gearman - PHP wrapper to libgearman | |||
php5-geoip - GeoIP module for php5 | |||
php5-gnupg - wrapper around the gpgme library | |||
php5-imagick - ImageMagick module for php5 | |||
php5-imap - IMAP module for php5 | |||
php5-interbase - interbase/firebird module for php5 | |||
php5-intl - internationalisation module for php5 | |||
php5-lasso - Library for Liberty Alliance and SAML protocols - PHP 5 bindings | |||
php5-librdf - PHP5 language bindings for the Redland RDF library | |||
php5-mapscript - php5-cgi module for MapServer | |||
php5-mcrypt - MCrypt module for php5 | |||
php5-memcache - memcache extension module for PHP5 | |||
php5-memcached - memcached extension module for PHP5, uses libmemcached | |||
php5-midgard2 - Midgard2 Content Repository - PHP5 language bindings and module | |||
php5-ming - Ming module for php5 | |||
php5-mongo - MongoDB database driver | |||
php5-msgpack - PHP extension for interfacing with MessagePack | |||
php5-mysqlnd - MySQL module for php5 (Native Driver) | |||
php5-mysqlnd-ms - MySQL replication and load balancing module for PHP | |||
php5-oauth - OAuth 1.0 consumer and provider extension | |||
php5-pinba - Pinba module for PHP 5 | |||
php5-ps - ps module for PHP 5 | |||
php5-radius - PECL radius module for PHP 5 | |||
php5-redis - PHP extension for interfacing with Redis | |||
php5-remctl - PECL module for Kerberos-authenticated command execution | |||
php5-rrd - PHP bindings to rrd tool system | |||
php5-sasl - Cyrus SASL Extension | |||
php5-stomp - Streaming Text Oriented Messaging Protocol (STOMP) client module for PHP 5 | |||
php5-svn - PHP Bindings for the Subversion Revision control system | |||
php5-sybase - Sybase / MS SQL Server module for php5 | |||
php5-tokyo-tyrant - PHP interface to Tokyo Cabinet's network interface, Tokyo Tyrant | |||
php5-vtkgdcm - Grassroots DICOM VTK PHP bindings | |||
php5-xcache - Fast, stable PHP opcode cacher | |||
php5-xdebug - Xdebug Module for PHP 5 | |||
php5-xhprof - Hierarchical Profiler for PHP5 | |||
</pre> | |||
[[Category:Howto]] | [[Category:Howto]] | ||