解决PHP程序上传最大2M问题解决方法

 更新时间:2016年11月25日 17:37  点击:1717
刚刚介绍过在iis上传文件不能大于200KB的解决办法,下面有朋友就问我为什么php中最大上传文件不能超过2MB呢,这个问题要怎么设置呢?下面一聚教程小编来给各位介绍一下吧。

打开位于: C:/WINDOWS 的 php.ini 文件( 这个php.ini不一定是在C盘哦,要看你配置环境时这个文件是放在那个盘哦,像我就不喜欢放在C盘了)

然后在php.ini中我们找到如下几个参数进行修改:

 代码如下 复制代码

upload_max_filesize = 2M     (php程序最大可以上传的附件值)

post_max_size = 8M           (form表单POST类型上传的最大可以上传值)

memory_limit = 8M           (限制php程序运行时占用的内存大小最大为 8M)

max_execution_time = 30     (PHP程序执行时间,单位:秒)

另外要确认上传的 <form> 里没有类似下面的这行<input type="hidden" name="MAX_FILE_SIZE" value="1000000">这样也是限制上传大小用的

补充:对于大文件我们在上传时间上也需要设置否则可能碰到上传超时了

解决上传超时

默认是30秒 改为:

 代码如下 复制代码

max_execution_time = 0

0代表不限制

max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒

memory_limit  = 128M ;每个PHP页面所吃掉的最大内存,默认8M

注意:

upload_tmp_dir = "D:/APM/PHP/uploadtemp/"

传文件时系统使用的缓存目录。如果此目录所在磁盘空间不足的话您将不能上传文件

最后重启apache环境或iis环境即可

今天在使用file_get_contents函数获取远程机器的一个功能时,提示HTTP request failed! HTTP/1.1 505 HTTP Version Not Supported error错误了,后来发现只要urlencode就可以解决了。

在做一个接口的时候,使用file_get_contents出现 HTTP request failed! HTTP/1.1 505 HTTP Version Not Supported error。查了一下手册,
Note: 如果要打开有特殊字符的 URL (比如说有空格),就需要使用 urlencode() 进行 URL 编码。

切记,对中文一定要进行先编码后使用

例子

 代码如下 复制代码

$body = file_get_contents('http://www.111cn.net');

这样是没有问题了,如果我们路径中带有中文或空格就不行了

 代码如下 复制代码

$body = file_get_contents('http://www.111cn.net/ 中国地址.html');

这样就会提示HTTP request failed! HTTP/1.1 505 HTTP Version Not Supported error

解决办法

 代码如下 复制代码

$body = file_get_contents(urlencode('http://www.111cn.net/ 中国地址.html'));

这样就显示正常了哦。

初次配置php环境在使用phpmyadmin时提示 “无法载入mysql扩展,请检查PHP配置” 错误,下面我就此问题来给大家介绍一下解决办法。

在配置了PHP的运行环境,并且安装了MySQl数据库之后,下面就可以学习下PHP如何与MySQL进行交互了。

既然MySQL是数据库,则必不可少的需要建立数据库、表、字段等操作(假象下我们使用ASP+ACCESS的情形),然而对于MySQL数据库而言,在我们默认安装时是没有可视化界面操作MySQl的,所以我们很多时候是借助phpMyAdmin来操作MySQL数据库的。

然而通过“PHP 5.2.3 installer”安装版的使用,当我们应用到phpMyAdmin,页面出现了“无法载入mysql扩展,请检查PHP配置”的提示。

1,首先,我们就来检查PHP配置文件 php.ini

打开PHP所安装目录下的 php.ini 文件,Ctrl+F搜索“php_mysql.dll”,将“;extension=php_mysql.dll”前的“;”删除以取消注释,同时搜索并修改“extension_dir”的值为“php_mysql.dll”文件所在文件夹。即:

 代码如下 复制代码


extension_dir = "D:\PHP\ext\"

extension=php_mysql.dll


2,然而通过这一页所使用的安装版是没有保存PHP扩展DLL文件的ext文件夹的,所以也就没有php_mysql.dll,我们运行phpMyAdmin当然会有问题

继续打开http://www.php.net/downloads.php 选择“PHP 5.2.3 zip package”压缩包文件,将其中的ext文件夹全部解压到PHP的安装目录下,所以才有了extension_dir = "D:\PHP\ext\"(注:前提是你的PHP安装在D盘)

3,完成了对php.ini文件的修改和包含有php_mysql.dll的ext文件夹的添加,建议重新启动下计算机,再来调试phpMyAdmin

4,当然,对于phpMyAdmin文件夹内的config.inc.php文件进行MySQL帐号和密码的修改,就不在这里交代
有关config.inc.php的修改:

对于config.inc.php文件,最重要的即是修改加入phpMyAdmin连接MySQL的用户名和密码。寻找到代码行:

 代码如下 复制代码


// $cfg['Servers'][$i]['controluser'] = 'pma';
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';


将“//”注释号删除,同时输入MySQL中配置的用户名和密码(远程服务器的请联系你的空间服务商),比如这里:


$cfg['Servers'][$i]['controluser'] = 'leosn_com';
$cfg['Servers'][$i]['controlpass'] = '*********;

有关你的MySQL数据库帐号密码参看(安装时你自己设置的):

另外,在网络上搜索了下本问题的相关解决方法,有的解决还需要把“php.ini文件和php_mysql.dll拷贝到了c:/windows以及c:/windows/system32目录”内,这是由于PHP是非安装版,一般安装版则不需要了,你可以在“我的电脑”属性“高级”中选择“环境变量”查看系统变量“Path”其中就指明了PHP的安装路径。

phpMyAdmin“无法载入mysql扩展,请检查PHP配置”的问题解决(感谢含笑的指导参考),下面可以学习使用PHP与MySQL交互操作了。

 

下面来看一个php提示Undefined variable: 引发的几个操作php-fpm的文章,希望本文章能给各位同学带来帮助哦。


以前写的一个php脚本,在换成php5.5.8的版本的时候出现了 PHP Notice: undefined index xxx 的警告信息,感觉不舒服解决方法

方法1:服务器配置修改 修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE

方法2:页面头部新增 error_reporting(E_ERROR | E_WARNING | E_PARSE); 或者 error_reporting(E_ALL & E_NOTICE); 或者 error_reporting(0);

检测参数方法:(在PHP5.5.8依然无效 Undefined variable: param)

定义一个函数:

function _get($str){
    $val = !empty($_GET[$str]) ? $_GET[$str] : null;
    return $val;
}

延伸问题:

1.修改在php.ini的参数后重启 php-fpm 网上的那种 php5.4下的 kill 等都无效(在5.5下无php-fpm.pid,kill对应进程也是无效的,我的默认起了3个php-fpm进程)
 
 
php-fpm 关闭:
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
php-fpm 重启:
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

查看php-fpm进程数:
ps aux | grep php-fpm

2.解决方法 netstat -lntp 可以看到php-fpm 监听的9000端口的进程 kill掉此进程即可

3.在重新启动php-fpm即可 /usr/local/webservers/php/sbin/php-fpm -D

json_encode函数对于中文的处理不友好,如果我们字符为gbk或gb2312编码时会发现转换中文变成了空了,但对于utf-8转换出来的编码是我们看不懂的,下面我来就json_encode对中文字符处理问题的一些解决办法。

1.json_encode()中文在gbk/gb2312中中文返回为null

 代码如下 复制代码

$arr = array ( 

  array ( 

      'catid' => '4', 

      'catname' => 'www.111cn.net', 

      'meta_title' => '一聚教程网2' 

    )
);
 
echo json_encode($arr);

结果

[{"catid":"4","catname":"www.111cn.net","meta_title":null}]

看一了吗"meta_title":null 他本来是有一个值的为一聚教程网2了,这个我们查了一下原理是json_encode只支持uft-8编码,我们转换一下

 代码如下 复制代码
<?php
$data=”JSON中文”;
$newData=iconv(“GB2312″,”UTF-8//IGNORE”,$data);
echo $newData;
//ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符都不会被保存。
//或是(“GB2312″,”UTF-8″,$data);
?>

Step2
后台PHP页面(页面编码为UTF-8或者已经把字符转为UTF-8)使用json_encode将PHP中的array数组转为JSON字符串。例如:

 代码如下 复制代码
<?php
$testJSON=array(‘name’=>’中文字符串’,’value’=>’test’);
echo json_encode($testJSON);
?>
查看输出结果为:
{“name”:”u4e2du6587u5b57u7b26u4e32″,”value”:”test”}


可见即使用UTF8编码的字符,使用json_encode也出现了中文乱码。解决办法是在使用json_encode之前把字符用函数urlencode()处理一下,然后再json_encode,输出结果的时候在用函数urldecode()转回来。具体如下:

 代码如下 复制代码

<?php
$testJSON=array(‘name’=>’中文字符串’,’value’=>’test’);
//echo json_encode($testJSON);
foreach ( $testJSON as $key => $value ) {
$testJSON[$key] = urlencode ( $value );
}
echo urldecode ( json_encode ( $testJSON ) );
?>

查看输出结果为:

{“name”:”中文字符串”,”value”:”test”}

总结:json_encode函数只能处理uft8字符串,如果是中文估计是对字节处理不好,因为中文gbk与uft长度是不一样的哦,这个我也不深入介绍了。

[!--infotagslink--]

相关文章

  • php 中file_get_contents超时问题的解决方法

    file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25
  • C#开发Windows窗体应用程序的简单操作步骤

    这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
  • C++调用C#的DLL程序实现方法

    本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
  • HTTP 408错误是什么 HTTP 408错误解决方法

    相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
  • 微信小程序 页面传值详解

    这篇文章主要介绍了微信小程序 页面传值详解的相关资料,需要的朋友可以参考下...2017-03-13
  • js实现上传图片及时预览

    这篇文章主要为大家详细介绍了js实现上传图片及时预览的相关资料,具有一定的参考价值,感兴趣的朋友可以参考一下...2016-05-09
  • C#使用Process类调用外部exe程序

    本文通过两个示例讲解了一下Process类调用外部应用程序的基本用法,并简单讲解了StartInfo属性,有需要的朋友可以参考一下。...2020-06-25
  • Php文件上传类class.upload.php用法示例

    本文章来人大家介绍一个php文件上传类的使用方法,期望此实例对各位php入门者会有不小帮助哦。 简介 Class.upload.php是用于管理上传文件的php文件上传类, 它可以帮...2016-11-25
  • 安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法

    手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21
  • PHP 验证码不显示只有一个小红叉的解决方法

    最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • 使用GruntJS构建Web程序之构建篇

    大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
  • 连接MySql速度慢的解决方法(skip-name-resolve)

    最近在Linux服务器上安装MySql5后,本地使用客户端连MySql速度超慢,本地程序连接也超慢。 解决方法:在配置文件my.cnf的[mysqld]下加入skip-name-resolve。原因是默认安装的MySql开启了DNS的反向解析。如果禁用的话就不能...2015-10-21
  • 微信小程序二维码生成工具 weapp-qrcode详解

    这篇文章主要介绍了微信小程序 二维码生成工具 weapp-qrcode详解,教大家如何在项目中引入weapp-qrcode.js文件,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下...2021-10-23
  • jQuery实现简单的文件上传进度条效果

    本文实例讲述了jQuery实现文件上传进度条效果的代码。分享给大家供大家参考。具体如下: 运行效果截图如下:具体代码如下:<!DOCTYPE html><html><head><meta charset="utf-8"><title>upload</title><link rel="stylesheet...2015-11-24
  • uniapp微信小程序:key失效的解决方法

    这篇文章主要介绍了uniapp微信小程序:key失效的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-20
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • EXCEL数据上传到SQL SERVER中的简单实现方法

    EXCEL数据上传到SQL SERVER中的方法需要注意到三点!注意点一:要把EXCEL数据上传到SQL SERVER中必须提前把EXCEL传到服务器上.做法: 在ASP.NET环境中,添加一个FileUpload上传控件后台代码的E.X: 复制代码 代码如下: if...2013-09-23
  • 将c#编写的程序打包成应用程序的实现步骤分享(安装,卸载) 图文

    时常会写用c#一些程序,但如何将他们和photoshop一样的大型软件打成一个压缩包,以便于发布....2020-06-25
  • 总结android studio注意事项及打不开等问题解决方法

    经过一段时间的使用,总结了android studio打不开等问题的6种解决方法及android studio注意事项,希望对大家有所帮助。 1 首次运行,建立好项目需要下载一些东西,如果...2016-09-20