Reputation: 8360
I wanted to get the settings of the current installed PHP on my server. I don't want to have the settings of PHP(.ini) itself, I need the /configure
parameters how the PHP is currently installed. E.g. the values of --prefix
or --includedir
or --sysconfdir
of my currently PHP ...
Edit:
I know that phpinfo()
will output the settings but on my server isn't a Configure Command
field with the information! How do I get these information?
Edit #2: Does nobody understand what I want to know or is my answer really that bad that I get so much downvotes? A common use to install PHP is like that:
./configure --prefix=/usr/share/php5\
--with-libdir=lib64\
--includedir=/usr/include\
--enable-libxml\
--enable-session
[...]
I didn't installed the current PHP5.2 on the server so I don't know how it was configurated during installation and I need/want to know what were the settings to install PHP5.3 like the current 5.2 to have a high chance to get all my websites working without any trouble.
Upvotes: 10
Views: 15511
Reputation: 1925
You are looking for the php-config
command. Running this will spit out everything PHP knows about it's installation and creation. Specifically, the following flags will tell you about the compilation of the php binary.
--prefix Directory prefix where PHP is installed, e.g. /usr/local --ldflags LD Flags which PHP was compiled with --libs Extra libraries which PHP was compiled with --configure-options Configure options to recreate configuration of current PHP installation
The command only accepts one flag at a time, so it may be better to run it without flags.
Example output:
$ php-config
Usage: /usr/bin/php-config [OPTION]
Options:
--prefix [/usr]
--includes [-I/usr/include/php ...snip ]
--ldflags []
--libs [-lcrypt -lresolv -lcrypt ...snip ]
--extension-dir [/usr/lib64/php/modules]
--include-dir [/usr/include/php]
--man-dir [/usr/share/man]
--php-binary [/usr/bin/php]
--php-sapis [cli cgi]
--configure-options [--build=x86_64-redhat-linux-gnu --host= ...snip]
--version [5.3.29]
--vernum [50329]
Where the bit after each Option
in the list isn't just an example output, it's the actual value; it is what you get if you call php-config
with that option. E.g.
$ php-config --prefix
/usr
Upvotes: 11
Reputation: 5437
You've said that your output from phpinfo()
/ php -i
doesn't have a Configure Command section. Can you post the output of php -i | head -n 10
?
EDIT:
Based on your comment that states PHP Version => 5.2.4-2ubuntu5.23
, it seems you're running Ubuntu. I found the list of which versions of Ubuntu include which version of PHP here, which implies you're running Hardy Heron. I found details of the particular source package here, and the upload date corresponds to the build date that you see in your output of php -i
. Since you're running a 64-bit version of the package, the complete Ubuntu buildlog can be found here (warning: LONG). Scrolling through that you can find the configure
commands for the apache2 build on line 1815, the cgi build on line 6170 and the cli build on line 9164. To save you some scrolling, here's the command for the apache2 build (i.e. the package libapache2-mod-php5
):
CFLAGS="-O2 -Wall -fsigned-char -fno-strict-aliasing -gstabs" PROG_SENDMAIL="/usr/sbin/sendmail" ../configure \
--prefix=/usr --with-apxs2=/usr/bin/apxs2 \
--with-config-file-path=/etc/php5/apache2 \
--with-config-file-scan-dir=/etc/php5/apache2/conf.d \
--build=x86_64-linux-gnu --host=x86_64-linux-gnu --mandir=/usr/share/man --enable-memory-limit --disable-debug --with-regex=php --disable-rpath --disable-static --with-pic --with-layout=GNU --with-pear=/usr/share/php --enable-calendar --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-track-vars --enable-trans-sid --enable-bcmath --with-bz2 --enable-ctype --with-db4 --without-gdbm --with-iconv --enable-exif --enable-filepro --enable-ftp --with-gettext --enable-mbstring --with-pcre-regex=/usr --enable-shmop --enable-sockets --enable-wddx --with-libxml-dir=/usr --with-zlib --with-kerberos=/usr --with-openssl=/usr --enable-dbx --enable-soap --enable-zip --with-mime-magic=/usr/share/file/magic.mime --with-exec-dir=/usr/lib/php5/libexec --with-system-tzdata \
--without-mm \
--with-curl=shared,/usr \
--with-zlib-dir=/usr \
--with-gd=shared,/usr --enable-gd-native-ttf \
--with-gmp=shared,/usr \
--with-jpeg-dir=shared,/usr \
--with-xpm-dir=shared,/usr/X11R6 \
--with-png-dir=shared,/usr \
--with-freetype-dir=shared,/usr \
--with-ttf=shared,/usr \
--with-t1lib=shared,/usr \
--with-ldap=shared,/usr \
--with-ldap-sasl=/usr \
--with-mhash=shared,/usr \
--with-mysql=shared,/usr \
--with-mysqli=shared,/usr/bin/mysql_config \
--with-pspell=shared,/usr \
--with-unixODBC=shared,/usr \
--with-recode=shared,/usr \
--with-xsl=shared,/usr \
--with-snmp=shared,/usr \
--with-sqlite=shared,/usr \
--with-mssql=shared,/usr \
--with-tidy=shared,/usr \
--with-xmlrpc=shared \
--with-pgsql=shared,/usr PGSQL_INCLUDE=`pg_config --includedir` \
--enable-pdo=shared \
--without-pdo-dblib \
--with-pdo-mysql=shared,/usr \
--with-pdo-odbc=shared,unixODBC,/usr \
--with-pdo-pgsql=shared,/usr/bin/pg_config \
--with-pdo-sqlite=shared,/usr \
--with-pdo-dblib=shared,/usr
Upvotes: 11
Reputation: 9094
You can use phpinfo()
phpinfo — Outputs information about PHP's configuration
<?php
phpinfo();
?>
You could run php -i
from the command-line and see if you get different results.
Even though
php -i
calls phpinfo(), and prints out the results,
the results may differ from <?php phpinfo() ?>
since the command-line may have it's own php.ini.
Upvotes: 3