我想在我的服务器上获取当前安装的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一样很有可能让我的所有网站都能正常运行。
答案 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();
?>