① linux下php5怎么启用DOM extension支持
在编译的时候,添加configure 项目
# ./configure --with-dom
② php5.6.15怎么安装扩展
这里以安装memcache扩展为例:
下载好对应版本的memcache扩展,然后将下载好的php扩展放到php安装目录下的ext文件夹
接着在php.ini文件里面添加代码:extension=php_memcache.dll,重启服务器后查看phpinfo看看是否有memcache的说明。
③ Docker PHP 安装扩展汇总
FROM php:7.2-fpm
Core, ctype, curl
date, dom
fileinfo, filter, ftp
hash
iconv
json
libxml
mbstring, mysqlnd
openssl
pcre, PDO, pdo_sqlite, Phar, posix
readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard
tokenizer
xml, xmlreader, xmlwriter
zlib
RUN docker-php-ext-install -j$(nproc) bcmath calendar exif gettext
sockets dba mysqli pcntl pdo_mysql shmop sysvmsg sysvsem sysvshm
RUN apt-get update &&
apt-get install -y --no-install-recommends libbz2-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) bz2
RUN apt-get update &&
apt-get install -y --no-install-recommends libenchant-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) enchant
RUN apt-get update &&
apt-get install -y --no-install-recommends libfreetype6-dev libjpeg62-turbo-dev libpng-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ &&
docker-php-ext-install -j$(nproc) gd
RUN apt-get update &&
apt-get install -y --no-install-recommends libgmp-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) gmp
RUN apt-get update &&
apt-get install -y --no-install-recommends libxml2-dev libtidy-dev libxslt1-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) soap wddx xmlrpc tidy xsl
RUN apt-get update &&
apt-get install -y --no-install-recommends libzip-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) zip
RUN apt-get update &&
apt-get install -y --no-install-recommends libsnmp-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) snmp
RUN apt-get update &&
apt-get install -y --no-install-recommends libpq-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) pgsql pdo_pgsql
RUN apt-get update &&
apt-get install -y --no-install-recommends libpspell-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) pspell
RUN apt-get update &&
apt-get install -y --no-install-recommends librecode-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) recode
RUN apt-get update &&
apt-get install -y --no-install-recommends firebird-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) pdo_firebird
RUN apt-get update &&
apt-get install -y --no-install-recommends freetds-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-configure pdo_dblib --with-libdir=lib/x86_64-linux-gnu &&
docker-php-ext-install -j$(nproc) pdo_dblib
RUN apt-get update &&
apt-get install -y --no-install-recommends libldap2-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu &&
docker-php-ext-install -j$(nproc) ldap
RUN apt-get update &&
apt-get install -y --no-install-recommends libc-client-dev libkrb5-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-configure imap --with-kerberos --with-imap-ssl &&
docker-php-ext-install -j$(nproc) imap
RUN apt-get update &&
apt-get install -y --no-install-recommends firebird-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) interbase
RUN apt-get update &&
apt-get install -y --no-install-recommends libicu-dev &&
rm -r /var/lib/apt/lists/* &&
docker-php-ext-install -j$(nproc) intl
RUN apt-get update && \
apt-get install -y --no-install-recommends libmcrypt-dev &&
rm -r /var/lib/apt/lists/* &&
pecl install mcrypt-1.0.1 &&
docker-php-ext-enable mcrypt
RUN export CFLAGS=" PHP_CPPFLAGS" LDFLAGS="$PHP_LDFLAGS" &&
apt-get update &&
apt-get install -y --no-install-recommends libmagickwand-dev &&
rm -rf /var/lib/apt/lists/* &&
pecl install imagick-3.4.3 &&
docker-php-ext-enable imagick
RUN apt-get update && \
apt-get install -y --no-install-recommends zlib1g-dev libmemcached-dev &&
rm -r /var/lib/apt/lists/* &&
pecl install memcached &&
docker-php-ext-enable memcached
RUN pecl install redis-4.0.1 && docker-php-ext-enable redis
RUN docker-php-ext-configure opcache --enable-opcache && docker-php-ext-install opcache
RUN set -ex;
docker-php-source extract;
{
echo '# https://github.com/docker-library/php/issues/103#issuecomment-271413933' ;
echo 'AC_DEFUN([PHP_ALWAYS_SHARED],[])dnl';
echo;
cat /usr/src/php/ext/odbc/config.m4;
} > temp.m4;
mv temp.m4 /usr/src/php/ext/odbc/config.m4;
apt-get update;
apt-get install -y --no-install-recommends unixodbc-dev;
rm -rf /var/lib/apt/lists/*;
docker-php-ext-configure odbc --with-unixODBC=shared,/usr;
docker-php-ext-configure pdo_odbc --with-pdo-odbc=unixODBC,/usr;
docker-php-ext-install odbc pdo_odbc;
docker-php-source delete
LABEL Author="Leo"
LABEL Version="1.0.25-fpm"
LABEL Description="PHP FPM 7.2 镜像. All extensions."
④ php fpm如何增加拓展
当服务器上PHP已经安装好,需要额外添加PHP扩展时怎么办?不需要重新安装PHP,有了phpize我们可以在原有的PHP基础之上直接安装扩展库。
这次编译仅仅只是单独编译PHP的扩展库,接下来将编译好的扩展库加入到现在运行的php中,不对现在运行的php重新编译,所以没有一点的影响。
下面我们演示安装xsl的扩展(不一定常用,仅做为一个范例)
做法一:
1.找到当前运行的php版本的源代码目录,如php-5.2.3。进入xsl扩展库目录。
$cd /home/pkgs/php-5.3.3/ext/xsl
2.调用phpize程序生成编译配置文件。
$/home/app/php5.3.3/bin/phpize
3.编译扩展库,分别执行下面的configure和make命令。
$./configure-with-php-config=/home/app/php5.3.3/bin/php-config
这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。
$make
#make成功执行后,生成的扩展库文件在当前目录的 moles子目录下,
如/home/php-5.3.3/ext/curl/moles/xsl.so
4.配置php.ini文件
#将编译好的扩展库文件复制到PHP的扩展目录下,可通过查看phpinfo信息。。
$ cp /home/pkg/php-5.3.3/ext/xsl/moles/xsl.so /home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626
#在php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到php安装目录/extension/no-debug-non....目录下,并添加扩展库位置。
extension_dir /home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626”
extension=xsl.so
5.重启php,查看phpinfo信息,即可看到刚才添加进去的xsl扩展库。(如果有多个php-fpm进程的话,平滑重启主进程即可:kill -USR2 pid)
⑤ 如何安装新的PHP扩展模块
php安装好后,可能在初次安装时,会有些模块会有遗漏,但是我们又不想重新编译php,因为耗时是比较长的。我们可不可以在不重新编译安装php的情况下,来为php单独添加某一个模块呢?查找资料,发现还是有方法的,重点就是phpize了,于是写了这篇文章.
下面我们就以单独为php加载mysqli模块为例,演示如何动态为php添加模块。
1、找到php原码安装文件
2、cd /home/php/ext/myslqi
3、运行 /usr/local/php/bin/phpize
4、/configure –with-php-config=/usr/local/php/bin/php-config
5、make && make install
6、安装完成之后会在系统/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/这个目录下面生成mysqli.so的库文件
7、编辑php.ini文件,指定php到哪人目录读取模块
vi /usr/local/php/etc/php.ini
extension_dir=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613″
extension=mysqli.so
8、重启php服务 /usr/local/php/sbin/php-fpm restart
7、/usr/local/php/bin/php -m|grep mysqli 查看mysqli.so是否存在
如果步骤正确,你的人口也不差的情况下,应该这样php的动态模块加载就完成了。
⑥ 如何为PHP安装mongodb的扩展
1.首先下载php的mongodb扩展
从http://pecl.php.net/package/mongo这个网址下载mongodb的扩展源码包
1
wget http://pecl.php.net/get/mongo-1.4.5.tgz
2.解压安装包
1
tar zxf mongo-1.4.5.tgz
3.进入解压目录,运行phpize进行安装准备
1
2
cd mongo-1.4.5
/usr/local/php/bin/phpize
4.安装编译
上述命令运行完后,在目录下就生成了configure文件
使用./configure命令进行安装配置,然后使用make && make install进行编译安装,命令如下:
1
2
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
5.编辑php.ini增加下述一行添加mongodb扩展
1
extension=mongo.so
重启web容器,然后查看phpinfo,看到mongodb的内容就说明安装成功。
⑦ 在服务器配置PHP的时候需要开通几个扩展,请问这几个扩展对我的网站有何用
网络不误导你 ,我也是网络的,扩展全开都行,不妨碍你用就是了,干嘛非要这么细致的分析每个扩展的作用呢?给你一份快餐,要么你吃了,要么你不吃。你会分析其他的情况吗?
扩展库 说明 注解
php_bz2.dll bzip2 压缩函数库 无
php_calendar.dll 历法转换函数库 自 PHP 4.0.3 起内置
php_cpdf.dll ClibPDF 函数库 无
php_crack.dll 密码破解函数库 无
php_ctype.dll ctype 家族函数库 自 PHP 4.3.0 起内置
php_curl.dll CURL,客户端 URL 库函数库 需要:libeay32.dll,ssleay32.dll(已附带)
php_cybercash.dll 网络现金支付函数库 PHP <= 4.2.0
php_db.dll DBM 函数库 已废弃。用 DBA 替代之(php_dba.dll)
php_dba.dll DBA:数据库(dbm 风格)抽象层函数库 无
php_dbase.dll dBase 函数库 无
php_dbx.dll dbx 函数库
php_domxml.dll DOM XML 函数库 PHP <= 4.2.0 需要:libxml2.dll(已附带),PHP >= 4.3.0 需要:iconv.dll(已附带)
php_dotnet.dll .NET 函数库 PHP <= 4.1.1
php_exif.dll EXIF 函数库 需要 php_mbstring.dll。并且在 php.ini 中,php_exif.dll 必须在 php_mbstring.dll之后加载。
php_fbsql.dll FrontBase 函数库 PHP <= 4.2.0
php_fdf.dll FDF:表单数据格式化函数库 需要:fdftk.dll(已附带)
php_filepro.dll filePro 函数库 只读访问
php_ftp.dll FTP 函数库 自 PHP 4.0.3 起内置
php_gd.dll GD 库图像函数库 在 PHP 4.3.2 中删除。此外注意在 GD1 中不能用真彩色函数,用 php_gd2.dll 替代。
php_gd2.dll GD 库图像函数库 GD2
php_gettext.dll Gettext 函数库 PHP <= 4.2.0 需要 gnu_gettext.dll(已附带),PHP >= 4.2.3 需要 libintl-1.dll,iconv.dll(已附带)。
php_hyperwave.dll HyperWave 函数库 无
php_iconv.dll ICONV 字符集转换 需要:iconv-1.3.dll(已附带),PHP >=4.2.1 需要 iconv.dll
php_ifx.dll Informix 函数库 需要:Informix 库
php_iisfunc.dll IIS 管理函数库 无
php_imap.dll IMAP,POP3 和 NNTP 函数库 无
php_ingres.dll Ingres II 函数库 需要:Ingres II 库
php_interbase.dll InterBase functions 需要:gds32.dll(已附带)
php_java.dll Java 函数库 PHP <= 4.0.6 需要:jvm.dll(已附带)
php_ldap.dll LDAP 函数库 PHP <= 4.2.0 需要 libsasl.dll(已附带),PHP >= 4.3.0 需要 libeay32.dll,ssleay32.dll(已附带)
php_mbstring.dll 多字节字符串函数库 无
php_mcrypt.dll Mcrypt 加密函数库 需要:libmcrypt.dll
php_mhash.dll Mhash 函数库 PHP >= 4.3.0 需要:libmhash.dll(已附带)
php_mime_magic.dll Mimetype 函数库 需要:magic.mime(已附带)
php_ming.dll Ming 函数库(Flash) 无
php_msql.dll mSQL 函数库 需要:msql.dll(已附带)
php_mssql.dll MSSQL 函数库 需要:ntwdblib.dll(已附带)
php_mysql.dll MySQL 函数库 PHP >= 5.0.0 需要 libmysql.dll(已附带)
php_mysqli.dll MySQLi 函数库 PHP >= 5.0.0 需要 libmysql.dll(PHP <= 5.0.2 中是 libmysqli.dll)(已附带)
php_oci8.dll Oracle 8 函数库 需要:Oracle 8.1+ 客户端库
php_openssl.dll OpenSSL 函数库 需要:libeay32.dll(已附带)
php_oracle.dll Oracle 函数库 需要:Oracle 7 客户端库
php_overload.dll 对象重载函数库 自 PHP 4.3.0 起内置
php_pdf.dll PDF 函数库 无
php_pgsql.dll PostgreSQL 函数库 无
php_printer.dll 打印机函数库 无
php_shmop.dll 共享内存函数库 无
php_snmp.dll SNMP 函数库 仅用于 Windows NT!
php_soap.dll SOAP 函数库 PHP >= 5.0.0
php_sockets.dll Socket 函数库 无
php_sybase_ct.dll Sybase 函数库 需要:Sybase 客户端库
php_tidy.dll Tidy 函数库 PHP >= 5.0.0
php_tokenizer.dll Tokenizer 函数库 自 PHP 4.3.0 起内置
php_w32api.dll W32api 函数库 无
php_xmlrpc.dll XML-RPC 函数库 PHP >= 4.2.1 需要 iconv.dll(已附带)
php_xslt.dll XSLT 函数库 PHP <= 4.2.0 需要 sablot.dll,expat.dll(已附带)。PHP >= 4.2.1 需要 sablot.dll,expat.dll,iconv.dll(已附带)。
php_yaz.dll YAZ 函数库 需要:yaz.dll(已附带)
php_zip.dll Zip 文件函数库 只读访问
php_zlib.dll ZLib 压缩函数库 自 PHP 4.3.0 起内置
⑧ PHP extensions: MySQLi, GD, PCRE, SPL, SimpleXML, DOM, JSON, iconv 这些这些可在那下载如何安装
具体看你在什么操作系统下,比如ubuntu debian可以直接用apt-get install 安装,gentoo可以用emerge安装。
Windows可以直接下载对应的dll程序,在php.ini中打开。
如果你是自己编译的php(如果你是自己编译的,应该会吧),需要在configure中--with-mysqli
Dom是缺省就打开的,除非主动关闭
具体参考
http://cn.php.net/manual/en/mysqli.installation.php
http://cn.php.net/manual/en/dom.installation.php
⑨ PHP安装以及教程
tomcat ?
据说tomcat配PHP效果不是很好..还是换apache吧....
apache吗..反正几乎是一路next就可以装好了..不过你如果装了IIS..就要注意端口问题..可能会有冲突..mysql也是.一路next,php吗..我是这么样的..
1.下载下来的php包解压..文件夹最好直接命名成php.
2.将php.ini-recommended改名为php.ini(这个是php的配置文件).放到c:\windows下(不放这里好像会有问题)
3.php.ini设置:extension_dir = "c:\php\ext"设置成你的ext文件夹的目录,去掉extension=php_mysql.dll前面的分号(加载mysql扩展).需要什么扩展可以根据需要修改.
4.apache的设置:apache安装目录下的conf文件夹下.找到httpd.conf,DocumentRoot "d:/wwwroot"
这里是你的网站的目录,
在最后添加
LoadMole php5_mole "c:/php/php5apache2_2.dll"(加载php模块)
AddType application/x-httpd-php .php (可解析的php扩展名)
AddType application/x-httpd-php-source .phps (这个不记得了.反正肯定要的)
如果发现权限不够.找到这里
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
options indexes
</Directory>
原来是deny from all改成allow from all.
最好打开apache的目录显示.
Options Indexes FollowSymLinks去掉前面的#,如果还不可以.就在上面的allow from all下面加上options indexes就OK了.
这是win下面的apache+php的配置..
mysql安装比较简单..我就不说了...
PHP的电子教程网上非常多..在这里也不可能给你贴出来吧..
还有关于框架..框架网上的教程也很多..网络一下吧..
着名的框架有zend Framework,cakephp,国产的fleaphp,thinkphp等等...