首页 开发编程 正文

php ini怎么修改

自动安装的安装程序php-5.2.0-win32-installer.msi不包含任何外部的PHP扩展(PHP_*.dll)。本例为手工安装.1.将下载的php-5.2.0-Win32.zip解压到C:...

php ini怎么修改,PHP的运行环境难配置吗?

PHP的运行环境不难配置!下面是个案例:

PHP开发环境配置(Windows版)

Apache+MySQL+PHP+phpMyAdmin

系统:Windows XP

Step1:下载以下文件

(1)php-5.2.0-Win32.zip

pecl-5.2.0-Win32.zip

(2)apache_2.2.3-win32-x86-no_ssl.msi

(3)mysql-5.1.12-beta-win32.zip

(4)phpMyAdmin-2.9.1.1-all-languages.zip

Step2:安装PHP, 配置php.ini

有两种方法在 Windows下安装PHP:手工安装或者使用安装程序安装。自动安装的安装程序php-5.2.0-win32-installer.msi不包含任何外部的PHP扩展(PHP_*.dll)。如果需要,可以在 Windows ZIP 包和 PECL 中找到。据PHP官方手册上称安装 PHP 最好的选择是手工安装。在手工安装中安装 PHP 最好的方式便是将所有 PHP 有关的文件都放入同一目录,并在系统的 PATH 环境变量中设置此目录。本例为手工安装.

1. 将下载的php-5.2.0-Win32.zip解压到C:\PHP\ 这个目录.

2. 再将C:\PHP\ 目录下的*.dll和 C:\PHP\ext目录下的所有文件文件复制粘贴到C:\windows\system32\下.

如果需要更多扩展,就将pecl-5.2.0-Win32.zip中的文件也放到C:\windows\system32\下.

3. 配置php.ini。

在ZIP 包中有两个ini文件,php.ini-dist和php.ini-recommended。建议使用 php.ini-recommended,因为在该文件中优化了性能和安全。复制所选择的 ini 文件到 PHP 能找到的目录中,并将其重命名为 php.ini 。

再用记事本打开 php.ini ,查找register_globals = Off,把off改成On.

再查找short_open_tag = Off,把off改成On有一处.

再查找extension_dir = "./" 改为 extension_dir = "C:\PHP\ext"

然后再查找;extension=php_mbstring.dll,把前面的分号去掉.

extension=php_mbstring.dll(不选这个phpMyAdmin会错)

以下几个dll作相同更改.

extension=php_dba.dll

extension=php_dbase.dll

extension=php_filepro.dll 可选

extension=php_gd2.dll 支持GD库的,一般要选

extension=php_imap.dll 可选

extension=php_ldap.dll

extension=php_mysql.dll 支持MySQL的

接下来修改了一些文件上传以及内存使用最大限制:

memory_limit = 20M ;内存容量

post_max_size = 20M ;闪存容量

upload_max_filesize = 20M ; 附件容量

asp_tags = On ;可选,On允许ASP风格的标记,Off禁止

4. 将 PHP 目录添加到 PATH 环境变量中

系统环境变量path=C:\php

5. 使 php.ini 文件在 Windows下被 PHP 所用

系统环境变量PHPRC=C:\php

Step3: 安装Apache,配置 httpd.conf 使之支持PHP

1.安装apache_2.2.3-win32-x86-no_ssl.msi,一路按Next即可.

安装完成后输入[url]http://localhost[/url] 查看Apache是否安装成功.

(如果安装了IIS请关闭,或者请改变安装端口,不然无法启动Apache服务)

2. 打开文件C:\Apache2\conf\httpd.conf,查找以下设置项.

即注册文件后缀.

<Directory />

Options FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

Satisfy all

AddType application/x-httpd-php .php .phtml .php3 .php4

AddType application/x-httpd-php-source .phps

</Directory>

绿色为我们新增的设置.

3.查找LoadModule模块

LoadModule php5_module "C:/ php/php5apache2_2.dll"

注意斜杠方向与Windows中路径”\”相反.

4.查找以下,并增加index.php

根据需要还可以增加其它自定义首页如index.htm

<IfModule dir_module>

DirectoryIndex index.html index.html.var index.php

</IfModule>

5. 查找 Documentroot "C:/Apache2/htdocs" 将其改为你的WEB路径; (这里是WEB主目录,可以不修改)

6.重启apache.

7. 在web根目录 C:\Apache2\htdocs\ 下新建index.php,内容如下:

<?php

phpinfo();

?>

在浏览器中输入URL: [url]http://localhost/index.php[/url] 测试结果.

如果不能正常运行,请检查配置.

Step4: 安装MySQL

MySQL安装过程

注意:安装中,一定要正确配置MySQL Server

安装完成后,新建conn.php

<?php

$link=mysql_connect('localhost','root','root');

if(!$link) echo "MySQL 数据库连接失败";

else echo "MySQL 数据库连接成功!";

mysql_close();

?>

运行该文件,测试数据库连接.

Step5:安装phpMyAdmin配置config.inc.php

phpMyAdmin并不是必需的,只是为了方便管理MySQL数据库,本身是用PHP编写而成.但是有了它,会大方便MySQL数据库管理.

1. 解压phpMyAdmin-2.9.1.1-all-languages.zip到C:\phpMyAdmin

2. 将C:\phpMyAdmin\config.sample.inc.php重命名为config.inc.php

3. 对照原文件进行如下更改,绿色为新增的.

$cfg['blowfish_secret'] = 'root';

$cfg['Servers'][$i]['controluser'] = 'root';

$cfg['Servers'][$i]['controlpass'] = 'root';

4. 将C:\phpMyAdmin\下所有文件和目录复制到

C:\Apache\htdocs\phpMyAdmin,

在浏览器中输入[url]http://localhost/phpMyAdmin/index.php[/url]进行测试

phpini?

问题有些模糊;不知是要问服务器还是操作命令,还是具体的配置参数如何设置;

服务器命令:

vim /usr/local/php/etc/

php.ini

如果是CentOS 系统 非root用户 可能提示没有权限,还需要加 sudo

然后 输入 i 进入编辑模式;

修改完成后输入 :wq 保存并推出;此时还要重启PHP才可生效;

还要注意的是 PHP使用的配置文件具体是不是这个路径;可以通过phpinfo();查看配置文件路径。

php语言网站如何加强安全性?

PHP是一种非常流行之网站脚本语言,但是它本身所固有之安全性是非常薄弱。本文讲述了PHP增强计划(Hardened-PHP project)和新之Suhosi计划,Suhosin提供了增强之PHP之安全配置。

PHP是带有争论地但又是最流行之一种网站脚本语言。它之所以流行,是因为它低廉之价格,然而,这低廉之价格导致用PHP写之网站应用程序越来越多 之同时也越来越多之展现出PHP本身在安全上之脆弱,这种安全特性显示出PHP是极不可靠,不过同时对这个脚本语言本身而言它又是非常灵活之,使用它就能 很容易之实现代码,不过这些代码都是臃肿之且不安全之,虽然是这样它还是一直都拥有很多之使用者。你可以根据实际情况来假设,一次又一次,各种应用软件都 体现了这种脆弱性:容易受到SQL注入、跨站脚本、任意执行指令等等之攻击。

因为象safe_mode和open_basedir这样内置之PHP安全措施将被忽略,PHP增强计划创建之PHP更具有安全性,同时也对PHP 进行校验检查。最初,这些是由增强之PHP补丁完成之,这些补丁需要修补并重新编译PHP自身。最近,PHP增强计划发布了一个名为Suhosin之新工 程。

Sohosin包括有两部分:第一部分是PHP之补丁,这个补丁强化了Zend引擎自身,以免可能产生缓冲溢出,也可以防止相关之弱点。第二部分是 Suhosin之扩展,这是一个PHP之独立使用模块。这两部分可以一起工作,或者是扩展部分单独工作。

开发人员不希望为了达到安全性而总去维护他们自己之PHP安装设置和他们当然更喜欢直接使用销售商提供之Linux分布系统上PHP,使用扩展模块 能提供更多PHP本身所不能具有之安全特点。

扩展模块很容易安装;它也能通过PECL安装,或者是下载后通过编译安装:

$ tar xvzf suhosin-0.9.17

$ cd suhosin-0.9.17

$ phpize

$ ./configure

$ make

$ sudo make install

为了使用suhosin,还需要增加/etc/php.ini,如下所示:

extension=suhosin.so

对于大部分人来说默认之配置选项已经足够了。为了加强设置,可以在/etc/php.ini中增加相应之值。网站中详细地介绍了有关之各种配置选 项,这些说明可以帮助你进行初始化配置。

使用Suhosin,你可以得到一些错误日志,你能把这些日志放到系统日志中,也可以同时写到其他任意之日志文件中去;它还可以为每一个虚拟主机创 建黑名单和白名单;可以过滤GET和POST请求、文件上载和cookie。你还能传送加密之会话和cookie,可以设置不能传送之存储上线等等。它不 像原始之PHP强化补丁,Suhosin是可以被像Zend Optimizer这样之第三方扩展软件所兼容之。

下面是我写的一个操作方法:

wget -c http://soft.vpser.net/web/suhosin/suhosin-patch-5.2.10-0.9.7.patch.gz

gzip -d ./suhosin-patch-5.2.10-0.9.7.patch.gz

cd php-5.2.10

patch -p 1 -i ../suhosin-patch-5.2.10-0.9.7.patch

编译的时候

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-discard-path --enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --with-mime-magic --enable-suhosin

把suhosin编译进去就好了

php设置页面超时时间解决方法?

php完成某些操作的时候,可能需要较长的执行时间。这就需要设置他的执行时间,否则服务器会在执行时间超时后,停止执行,页面出现空白的情况。下面推荐两种解决方案:

php文件页面设置:

<?php//修改最大执行时间ini_set('max_execution_time', '0');//修改此次最大运行内存ini_set('memory_limit','128M');/*** * * 代码块省略...... * * */?>

php.ini配置文件设置(具体值,根据需要设置):

max_execution_time = 60

memory_limit = 128M

注意:如果执行内存完全满足的话,就不需要设置了。具体设置,根据情况灵活设置。

PHP后台怎么接收post请求的参数?

1、$_POST['paramName'] 只有在Content-Type为application/x-www-form-urlencoded或者为multipart/form-data的 时候,PHP才会将http请求数据包中的body相应部分数据填入$_POST全局变量中,其它情况PHP都忽略。填入到$_POST数组中的数据是进行urldecode()解析的结果。

2、file_get_contents("php://input") 适用大多数类型的Content-type

php://input 允许读取 POST 的原始数据。和 $HTTP_RAW_POST_DATA 比起来,它给内存带来的压力较小,并且不需要任何特殊的 php.ini 设置。php://input 不能用于 enctype="multipart/form-data"。

3、$GLOBALS['HTTP_RAW_POST_DATA']; 总是产生 $HTTP_RAW_POST_DATA 变量包含有原始的 POST 数据。此变量仅在碰到未识别 MIME 类型的数据时产生。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。

如果post过来的数据不是PHP能够识别的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']来接收,比如 text/xml 或者 soap 等等。需要设置php.ini中的always_populate_raw_post_data值为On,PHP才会总把POST数据填入变 量$http_raw_post_data。

看官方文档,在高版本里,这个变量$HTTP_RAW_POST_DATA被弃用了

This feature wasDEPRECATEDin PHP 5.6.0, andREMOVEDas of PHP 7.0.0. In general,php://inputshould be used instead of$HTTP_RAW_POST_DATA.

本文转载自互联网,如有侵权,联系删除