获取当前的PHP安装设置

时间:2012-03-01 17:26:37

标签: php install

我想在我的服务器上获取当前安装的PHP的设置。我不想拥有PHP(.ini)本身的设置,我需要/configure参数如何安装PHP。例如。我当前PHP的--prefix--includedir--sysconfdir的值...

编辑: 我知道phpinfo()会输出设置,但在我的服务器上不是带有信息的Configure Command字段!我如何获得这些信息?

编辑#2: 难道没有人能理解我想知道什么,或者我的答案真的那么糟糕我得到了这么多的投票吗? 安装PHP的常见用法是:

./configure --prefix=/usr/share/php5\
 --with-libdir=lib64\
 --includedir=/usr/include\
 --enable-libxml\
 --enable-session
[...]

我没有在服务器上安装当前的PHP5.2,所以我不知道它在安装过程中是如何配置的,我需要/想知道安装PHP5.3的设置是什么,就像当前的5.2一样很有可能让我的所有网站都能正常运行。

5 个答案:

答案 0 :(得分:9)

您已说过phpinfo() / php -i的输出没有配置命令部分。你能发布php -i | head -n 10的输出吗?

修改

根据您发表PHP Version => 5.2.4-2ubuntu5.23的评论,您似乎正在运行Ubuntu。我发现哪个版本的Ubuntu包含哪个版本的PHP here,这意味着你正在运行Hardy Heron。我找到了特定源包here的详细信息,上传日期对应于您在php -i输出中看到的构建日期。由于您运行的是64位版本的软件包,因此可以找到完整的Ubuntu构建日志here(警告:LONG)。滚动浏览,您可以在第1815行找到apache2构建的configure命令,第6170行的cgi构建和第916行的cli构建。为了节省一些滚动,这里是apache2构建的命令(即包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

答案 1 :(得分:4)

您正在寻找php-config命令。运行它将吐出PHP知道它的安装和创建的所有内容。具体来说,以下标志将告诉您关于php二进制文件的编译。

--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

该命令一次只接受一个标志,因此最好在没有标志的情况下运行它。

示例输出:

$ 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]

如果列表中每个Option之后的位不仅仅是一个示例输出,那么它就是实际值;如果您使用该选项致电php-config,这就是您所获得的。 E.g。

$ php-config --prefix
/usr

答案 2 :(得分:3)

您可以使用phpinfo()

  

phpinfo - 输出有关PHP配置的信息

<?php
phpinfo();
?>

您可以从命令行运行php -i,看看是否得到不同的结果。 即使

  

php -i调用phpinfo(),打印出结果

结果可能与<?php phpinfo() ?>不同,因为命令行可能有自己的php.ini。

答案 3 :(得分:3)

<?php phpinfo(); ?>

phpinfo()功能会为您提供所需的所有设置,格式为HTML。

答案 4 :(得分:1)

使用它来获取设置:

<?php
phpinfo();
?>