php中php.ini-dist和php.ini-recommended文件区别

 更新时间:2016年11月25日 15:28  点击:2199
在php解压包文件中我们地发现有两个php.ini文件,php.ini-dist和php.ini-recommended了,那么这两个文件使用 是什么呢,下面我来给大家简单介绍

在Windows下安装PHP,通常要将php.ini-dist或php.ini-recommended重命名为php.ini。根据说明,二者不同之处

在于 php.ini-dist 适合开发程式使用(测试用),而 php.ini-recommended 拥有较高的安全性设定,则适合上线

当产品使用。我一般将php.ini-recommended修改为php.ini,确保测试环境(本地)与正式环境(线上)一致。

PHP5.3.1版本中,找不到网上介绍的php5.ini-dist(php.ini-recommended)


由于版本更新,这些文件有了新的命名:php.ini-production对应于php.ini-recommendedphp.ini-development对应

于php.ini-dist其他步骤还是一样,配置文件还是要修改的,比如说路径之类的.

本文章来给大家介绍浏览器Basic Auth方式认证的phpMyAdmin自动登录,有需要了解的同学可进入参考。

一、需求
自动登录 phpMyAdmin。最终能够解决自动登录所有使用 Basic Auth 方式认证的网页。

.
二、phpMyAdmin 的四种认证登陆方式
1.config 配置文件。直接将允许登录的用户名和密码写在 config.inc.php 配置文件中。
2.cookie。最常用的方式,通过填写首页表单进行登录。
3.http。HTTP Basic Authentication 方式,使用浏览器的弹出式对话框进行登录。与 cookie 方式的区别主要在于用户体验。
4.signon。单点登录,适用于系统集成。用户登录了某系统后,不必再输用户名密码即可以一键登录 phpMyAdmin。
参考:http://wiki.phpmyadmin.net/pma/Auth_types

按道理 signon 方式应该是满足需求的首选方案,只不过项目开发总是有妥协和迁就,要尽量少干预现有系统的运行。另外,在实现 signon 方式登录的同时,还需要保留原有的用户输用户名密码的登录方式,即备用登录方案。这就将问题复杂化了。

三、什么是 Basic Auth
现有系统使用了 Basic Auth 方式,于是我研究了怎样能够在这种情况下也一键登录。

在访问一个需要 HTTP Basic Authentication 的 URL 时,如果你没有提供用户名和密码,服务器就会返回 401,这时浏览器会提示你输入用户名和密码。例子如下:

 代码如下 复制代码
<?php
if (!isset($_SERVER['PHP_AUTH_USER'])) {
    header('WWW-Authenticate: Basic realm="My Realm"');
    header('HTTP/1.1 401 Unauthorized');
} else {
    echo "<p>Hello {$_SERVER['PHP_AUTH_USER']}.</p>";
    echo "<p>You entered {$_SERVER['PHP_AUTH_PW']} as your password.</p>";
}
?>

保存为login.php,浏览 http://localhost/login.php 查看效果。


浏览器Basic Auth:IE9和Chrome的弹出式认证对话框
在浏览器弹出的窗口中输入用户名密码,如果使用 Chrome 开发者工具(或者 Firebug)查看,会发现其实它只是多发送了一个类似下面的请求头:

Authorization: Basic bXlfdXNlcm5hbWU6bXlfcGFzc3dvcmQ=
四、Basic Auth 认证的自动登录解决方案
要想通过认证,原则上有 2 种方法

•一是在请求头中添加 Authorization(可用 Javascript 来实现):
Authorization: “Basic 用户名和密码的base64加密字符串”
•二是在 url 中添加用户名和密码(IE 不支持):
http://username:password@domain.com/login.php

用 js 添加请求头可以使用 XMLHttpRequest,实现代码如下:

 代码如下 复制代码

<html>
<head>
<title>login</title>
<script>
function login() {
    var username = document.getElementById("username").value;
    var password = document.getElementById("password").value;
 
    xhr = new XMLHttpRequest();
    xhr.open("POST", "http://localhost/login.php", false, username, password);
    xhr.send(null);
 
    return xhr.status == 200;
}
</script>
</head>
<body>
<form action="http://localhost/login.php" method="post" onsubmit="return login();">
    <fieldset>
    <legend>Login</legend>
    <label for="username">username:</label>
    <input type="text" id="username" name="username">
 
    <label for="password">password:</label>
    <input type="password" id="password" name="password">
 
    <input type="submit" value="subject">
    </fieldset>
</form>
</body>
</html>

Basic Auth 认证的自动登录解决方案,总结下——

1、用户名密码直接写在 URL 里。

缺点:不够安全,且 IE 不支持。

2、写一个登陆表单,php 将用户名密码填到表单中,然后页面 onload 时 js 生成 Authorization 请求头提交

缺点:本系统和 phpMyAdmin 必须在同一个域。例如本系统在 admin.domain.com,而 phpMyAdmin 在 phpmyadmin.domain.com 这种情况 js 是无法跨域提交的。

3、本系统将用户名密码 post 到 phpMyAdmin 所在域的一个表单,那个表单再拿来用 js 登陆。

缺点:需要到 phpMyAdmin 所在域新增一个页面实现跨域。

GD库在php中默认是没有开启的,如果想让它支持图片处理功能我们需要在php.ini中把extension=php_gd2.dll 去掉前面的;就行了就行了。

在windows服务器开启php的gd库时,使用cgi之后phpinfo()得到的结果中 Configure Command 中并没有出现gd.

将php.ini文件找到extension=php_gd2.dll  去掉前面的;就行了。

另外附上如何检测是否已经安装好GD库代码!

 代码如下 复制代码

<?php
if(extension_loaded('gd')) {
  echo '你可以使用gd<br>';
  foreach(gd_info() as $cate=>$value)
    echo "$cate: $value<br>";
}else
  echo '你没有安装gd扩展';
?>

结果显示为:你可以使用gd
GD Version: bundled (2.0.34 compatible)
FreeType Support: 1
FreeType Linkage: with freetype
T1Lib Support: 1
GIF Read Support: 1
GIF Create Support: 1
JPG Support: 1
PNG Support: 1
WBMP Support: 1
XPM Support:
XBM Support: 1
JIS-mapped Japanese Font Support:


如果有问题,

Configure Command 后显示的是:

1 cscript /nologo configure.js "--enable-snapshot-build" "--disable-isapi" "--enable-debug-pack" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=C:php-sdkoracleinstantclient10sdk,shared" "--with-oci8=C:php-sdkoracleinstantclient10sdk,shared" "--with-oci8-11g=C:php-sdkoracleinstantclient11sdk,shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--disable-static-analyze" "--with-pgo"

可能的原因:

1.权限问题;

2.双通道是否存在问题,或者是硬件是否松动

在php中默认只能上传2MB大小的文件,如果想上传更多更大的文件我们需要修改一些参数,下面大家来参考一下。

linux系统

1、/usr/local/nginx/conf/nginx.conf
修改

client_max_body_size

2、/usr/local/php/etc/php.ini

修改

post_max_size
upload_max_filesize

3、重启LNMP /root/lnmp restart

windows系统

php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.
查找

post_max_size .

改为
post_max_size = 150M

查找upload_max_filesize,默认为8M改为

upload_max_filesize = 100M

另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.

总结

其实就是修改php.ini中的三个参数

upload_max_filesize = 8M
post_max_size = 10M
memory_limit = 20M

好长时间没有写博客了,最近正在学习php,所以把环境配置与大家分享一下。
好长时间没有写博客了,最近正在学习php,所以把环境配置与大家分享一下。
软件准备:
准备的软件如下图所示。
apache在官方木有找到64位滴,特给出个地址,已测试可正常运行。
其它32 and 64位的均可在官方找到。
http://www.blackdot.be/?inc=apache/binaries apache 64 bit
Apache的安装:
注:本例只截取需要注意的截图,其它默认则不显示。
1.       服务器信息可以按照默认配置,如果服务器的80端口没被其他服务器程序占据。可选“for All Users,on Port 80, as a ServiceRecommended.”如果仅为当前用户使用,使用8080端口,手动启动,选择“only for the Current User, on Port 8080, when started Manually.”。端口号是可以通过配置文件进行修改的。
 
2. “Typical”为默认安装,“Custom”为用户自定义安装。
 
3. 单击“Build Headers and libraries”,选择“This feature will be installed on local dirive.”
 
4. 可以选择“Change”来更改默认安装路径,本例按默认安装。
 
5.安装完成后会出现apache服务管理器。
 
服务管理列表中有现在可以启动的服务项目。
注:如果你安装后服务管理列表中没有出现apache的服务项就说明在安装过程中出现了错误,这时候可以手动进行安装。
使用cmd进入C:Program FilesApache Software FoundationApache2.2bin这是我本机安装的目录, 并执行httpd -k install命令,提示成功后即可在服务管理列表中看到apache服务。
 
由于我机器已正常安装此服务所以在执行此命令的时候提示安装服务出错,关于httpd的相关执行命令可自行搜索。
6.现在可以测试一下apache是否安装成功。在浏览器输入localhost或127.0.0.1 如果安装时选择的不是使用80端口则此处访问时需加入端口号访问。
 
 
2.可以更改mysql的安装目录位置,本例保持默认。
 
3.完成后勾选”Launch the MySql instance Configuration Wizard”进行MySql的配置。
 
4. 选择配置方式:“Detailed Configuration(手动精确配置)”、”Standard Configuration(标准配置)”,选择“Detailed Configuration”,
 
5. 选择服务器类型,“Developer Machine(开发测试类,mysql占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”,一般选择“Server Machine”。 可根据实际情况进行选择。本例使用开发测试类型滴。
 
 
6. 选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控,记数用,对MySAM数据类型的支持仅限于non-transactional)”,选择“Transactional Database Only”,本例选择的是通用多功能型。
7. 对InnoDB Tablespace进行配置,就是为InnoDB数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了。使用默认位置。
8. 选择网站的一半mysql访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,选择“Online Transaction Processing(OLTP)”。本例选择第一项,由于只在本机做开发测试工作。
 
9. 是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库,选择“Enable TCP/IP Networking”是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库,选择“Enable TCP/IP Networking”。
10. 设置数据库语言编码,“Standard Character Set”为西文编码、“Best Support For Multilingualism”为RTF-8编码、“Manual Selected Default Character Set/Collation”为手动设置编码,gbk、gb2312为中文编码,选择“Best Support For Multilingualism”。
11.”Install As Windows Service”选择安装MySql服务,可自定义服务的名称。
“Include Bin Directory in Windows PATH”是在机器上添加MySql的环境变量。
12. 选择“Modify Security Settings”,可根据实际要求勾选上“Enable root access from remote machines”以便能够从其他机器上访问。
 
13.完成配置后点击“Execute”执行配置即可。
MySql安装操作已完成。
测试MySql
------------------------------------------------------------------------------------------------------------------------------------------
Php的安装:
将php-压缩包解压到相应的目录即可。本例我放置到了E:Program FilesPHP文件夹下。
Php的配置:
1、              将E:Program FilesPHP中的php.ini-dist复制为php.ini。
如果没有php.ini-dist文件可使用php.ini-development文件并更改名称为php.ini(留个备份,好习惯)
  php.ini-development 开发用的
 php.ini-produciton 生产机用的
2、              打开E:Program FilesPHPphp.ini修改下列语句行:
3、              extension_dir = "E:Program FilesPHPext"

 

         
 
 
 
 
 
4、       default_charset ="utf-8"
5、             
 
 
5、                将extension=php_exif.dll、php_gd2.dll、php_imap.dll、php_mbstring.dll、php_mcrypt.dll、php_mime_magic.dll、php_mysql.dll、php_mysqli.dll、php_pdf.dll前面的分号“;”去掉。
6、              在【环境变量】的【Path】中加入:;E:Program FilesPHP; E:Program FilesPHPext两个值。
7、              其它配置
1、在写php程序中有时会出现这样的警告:PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in D:xxxxxxxxx.php on line 10 。这是因为PHP所取的时间是格林威治标准时间,所以和你当地的时间会有出入格林威治标准时间和北京时间大概差8个小时左右,我们可以按照下面的方法解决:1、在页头使用date_default_timezone_set()设置我的默认时区为北京时间,即<?phpdate_default_timezone_set("PRC");?>就可以了。2、在php.ini中设置date.timezone的值为PRC,设置好以后的为:date.timezone=PRC,同时取消这一行代码的注释,即去掉前面的分号就可以了。
 
httpd.conf的配置:
httpd.conf文件的位置:C:Program FilesApache Software FoundationApache2.2conf。
这是我本机安装的目录。注:网上有好多教程说需要把php目录下的某某dll文件拷贝到system32下,其实这是不必要的,只需要在httpd.conf中加载php模块即可。
添加并修改下列语句行: LoadModule php5_module "E:/PHP/php5apache2_2.dll" (需要加””号,否则apache无法启动)
【ps:
如果php安装目录里没有php5apache2_2.dll,一定是下载的版本不对。
官网左边有几段文字:
Which version do I choose?
If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHP。。。。
 
所以你下载V6C versions of PHP
VC6 x86 Non Thread Safe
VC6 x86 Thread Safe
一个是Thread Safe,一个是Non Thread Safe
 
结果,Non Thread Safe版的php在安装过程中,没有Apache的选项:
select the web server you wish to setup
IIS FastCGI
Other CGI
Do not setup a web server
 
Thread Safe版的安装过程中有Apache 2.2.x Module选项:
select the web server you wish to setup
Apache 2.2.x Module
Apaceh CGI
IIS FastCGI
IIS CGI
NSAPI
Xitami
NetServe Web Server
Other CGI
Do not setup a web server
------------------------------------------------------------------------------------------------------
PHP下载的时候有几个不同版本选择。那就是VC6 X86VC9 X86
 
首先我来解答:
 
VC6是什么?
VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的。
 
VC9是什么?
VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的。
 
那我们如何选择下载哪个版本的PHP呢?
如果你是在windows下使用Apache+PHP的,请选择VC6版本;
如果你是在windows下使用IIS+PHP的,请选择VC9版本;
 
Non Thread Safe是什么?
Non Thread Safe就是非线程安全;
 
Thread Safe 是什么?
Non Thread Safe 是线程安全;
 
官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来使用。
 
PHPIniDir "E:/Program Files/PHP"
[
    如果你在链接MySql数据库的时候出现
Fatal error: Call to undefined function mysql_connect() in C:xxxxx.php
那就是因为你没有增加此属性。
]
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" 项目默认的存放路径,可根据实际情况修改,注:如此节点修改则相应的Directory节点的目录也需进行修改。
<Directory " C:/Program Files/Apache Software Foundation/Apache2.2/htdocs ">
AddType application/x-httpd-php .php
DirectoryIndex index.php index.html
注意:Apache Windows配置文件httpd.conf中要求的目录分隔符是用斜线”/”,而PHP Windows配置文件php.ini中书写目录时要求的是反斜线””,不要弄混了。
配置测试,在DocumentRoot节点所指定的目录中创建index.php 打印php配置信息。
你懂的。
 
------------------------------------------------------------------------------------------------------------------------------------------
 
一、下载
先到互联网上下载 phpMyAdmin,也可以到 phpMyAdmin 官方网站下载,地址为:http://www.phpmyadmin.net/home_page/downloads.php 再解压到 web 可以访问的目录下,如果是虚拟空间,可以解压后通过 ftp 工具上传到 web 目录下,同时您可以修改解压后该文件的名称。
二、配置
打开 libraries 目录下的 config.default.php 文件,依次找到下面各项,按照说明配置即可。
1、         访问网址
 
2、         MySQL 主机信息
填写 localhost MySQL 所在服务器的 ip 地址,如果 MySQL 和该 phpMyAdmin 在同一服务器,则按默认 localhost
 
MySQL 端口,默认为 3306,保留为空即可,如果您安装 MySQL 时使用了其它的端口,需要在这里填写。
3、         MySQL 用户名和密码
 
4、         认证方法
在此有四种模式可供选择,cookiehttpHTTPconfig;
config
方式即输入 phpMyAdmin 的访问网址即可直接进入,无需输入用户名和密码,是不安全的,不推荐使用。
当该项设置为 cookiehttp HTTP 时,登录 phpMyAdmin 需要数据用户名和密码进行验证,具体如下:
PHP
安装模式为 Apache,可以使用 http cookie
PHP
安装模式为 CGI,可以使用 cookie
 
5、         短语密码(blowfish_secret)的设置
6、         修改界面语言
修改此属性为zh[简体中文]
 
7、         测试PhpMyAdmin
7.好吧,我不得不承认这是一个神奇的网站。原因是我们安装完apache后并没有启动此服务。
8.如你所见,他工作了。
 
Apache现已安装完成。
------------------------------------------------------------------------------------------------------------------------------------------
Mysql的安装:
1.此处选择用户自定义配置
[!--infotagslink--]

相关文章

  • mysql_connect与mysql_pconnect的区别详解

    在mysql中我们会看到有两种常用的数据库连接模式,一种是长久连接,另一各是页面访问完之后就断了连接,下面我来分别介绍mysql_connect与mysql_pconnect的区别,有需要了解...2016-11-25
  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • AI源文件转photoshop图像变模糊问题解决教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • ant design中upload组件上传大文件,显示进度条进度的实例

    这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • php实现文件下载实例分享

    举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07
  • C#路径,文件,目录及IO常见操作汇总

    这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • 查找php配置文件php.ini所在路径的二种方法

    通常php.ini的位置在:复制代码 代码如下:/etc目录下或/usr/local/lib目录下。如果你还是找不到php.ini或者找到了php.ini修改后不生效(其实是没找对),请使用如下办法:1.新建php文件,写入如下代码复制代码 代码如下:<?phpe...2014-05-31