Windows下解决php_curl扩展模块无法加载的处理方法
apache 中php_curl不能加载
提示错误Fatal error:Call to undefined function curl_init()。我估计应该有人也有类似问题,赶紧百度一下,果然好多人遇到这个问题
1、将PHP安装目录中找libeay32.dll,ssleay32.dll,php_curl.dll,php5ts.dll四个DLL文件,有的在ext目录,找到后将他们复制到system32下,如果找不到请下载对应版本的PHP复制过去;
2、检查php.exe, php5ts.dll和php_curl.dll的版本是否相同,把鼠标放到什么就会显示版本信息;
3、打开你的php.ini文件,不知道在哪个位置的可以先phpinfo查看第六行显示路径,不要搞混了,打开做如下修改:将php_curl前的注释符(也就是分号)去掉。有必要的话将cgi.force_redirect前的注释符也去掉,并把值1修改为0;
4、重启IIS或apache后运行phpinfo检查curl是否成功加载,Ctrl+F查找curl,如果没有匹配,那肯定是没有加载成功,如果有匹配,恭喜你已经成功加载了。
具体解决办法
在php.ini中找到有extension=php_curl.dll, 去掉前面的注释.
设置extension_dir=c:phpext, 刷新PHP页面时报错, 说找不到模块php_curl.dll.
拷贝php_curl.dll 到windowssystem32,还是同样的错.
在网上找了一下,需要将:
libeay32.dll, ssleay32.dll, php5ts.dll, php_curl.dll
都拷贝到system32目录下,重启apache即可.
附上iis php_curl不能使用
问题:
PHP 在 IIS6 或 IIS7 中无法加载 php_curl.dll 动态链接库。
解决方法:
在PHP手册中有相关说明:php_curl.dll;CURL,客户端 URL 库函数库;需要:libeay32.dll,ssleay32.dll(已附带)
所以只要将 libeay32.dll,ssleay32.dll 这两个库复制到 %WINDOWS% 目录下即可。
首先谈谈cookie吧,百度百科是这样定义的:是网站为了辨别用户身份、进行session跟踪而存储在用户本地终端上的数据(通常经过加密)。
php中生成一个cookie的方法很简单:setcookie(name, value, expire, path, domain);
name:cookie中定义的名字。
value:cookie中对name所保存的值。这个值保存在了用户的终端;不要保存敏感信息(个人重要信息,金钱)。
expire:cookie中名值对保存的过期时间,这个值是以时间戳的形式保存下来的。
path:cookie值保存的有效路径,如果设置成 ‘/’ 那么对整个项目都有效,如果设置成 ‘/foo/’ 那么cookie的有效路径在foo以及其下属文件,如果没有做任何设置那么他的有效路径是当前文件夹。
domian:cookie可用的域名范围。
<?php
setcookie('site_name', 'IT博客');//设置一个cookie:site_name他的值是IT博客,这样就建立了一个会话,不过这个cookie保存在了内存中随着浏览器的关闭而销毁。
setcookie('site_name', 'IT博客', time() + 86400);//设置cookie并将他的过期时间设置为一天后,这样的会话会将cookie的值保存到硬盘中,关闭浏览器,一天内cookie在浏览器打开的时候还是有效的。
?> 写到这里想起了以前同事在项目中遇到的问题:比如我有一个功能用户浏览的前10个页面我要在页面中显示用于提示用户浏览过的页面,这里面就用到了cookie,用户浏览的页面大于10个之后会做分割只取前10个,array_slice可以帮到你,array_slice切割完之后cookie中保存的页面信息是不是减少了呢?可能会有这个疑问。带着这个疑问咱们说说cookie的销毁方式吧。
cookie销毁方式一:将cookie值设置为空。
<?php
setcookie('site_name', '');
?> cookie销毁方式二:将cookie值设置为过期时间。
<?php
setcookie('site_name', 'IT博客', time() - 86400);
?> 看到这里你说array_slice会不会切割cookie中的值,使cookie的值减少呢?
下面说一说session:session是一种服务器的机制,服务器使用一种类似于散列表的结构来保存信息,每一个网站的访客都会被赋予一个唯一的标识符进行识别(回话ID)。他的存放形式有两种:1是url传递,2是cookie保存。
php中常用的session的函数中最重要的就是session_start(),没有开启session的话一切都免谈。
php.ini中也有一些session的设置比如:
session.save_handler = files —— session的保存形式以文件形式保存。
session.save_path = “N;/path” ——— session文件的保存路径,这个路径需要自己创建且有写入的权限。其中N;/path中的N必须是一个整数这样可以使session文件保存在不同的目录中,这对于服务器处理大量的session文件是有帮助的。
session和cookie的区别:
1.session保存在服务器端,通过session.save_path可以设置session文件在服务器的位置。
2.cookie保存在客户端,分为临时会话(关闭浏览器则销毁,保存在内存)、持久性会话(在有效期内一直可以调用,保存在硬盘上)。
3.session相对cookie要安全一些,不过大量的session也会导致服务器的压力。
session和cookie的联系:
session的有效执行有两种方式:一是与cookie进行交互,二是通过url传递。
ps:sessionid是一个很有用有时候也会导致问题的一个标识,有一次通过ajax发送50多个请求通过socket请求数据,在php端socket返回数据有时候会比较慢,虽然ajax是异步的请求但是在php端就不一样了,先来的会把后来的请求堵在后面,其中的标识符就是sessionid,由于这个sessionid导致了php端的顺序处理增加了用户的等待时间,致使用户体验较差。其中的解决方案是用session_write_close()断开sessionid的链接。
最简单的做法
代码如下 | 复制代码 |
|
这个我自己写的
代码如下 | 复制代码 |
<?php if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $onlineip = getenv('HTTP_CLIENT_IP'); } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) { $onlineip = getenv('HTTP_X_FORWARDED_FOR'); } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) { $onlineip = getenv('REMOTE_ADDR'); } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) { $onlineip = $_SERVER['REMOTE_ADDR']; } echo $onlineip; ?> |
但感觉不怎么样,后来百度找到了一个
实例
代码如下 | 复制代码 |
function real_ip() { if ($realip !== NULL) { if (isset($_SERVER)) { /* 取X-Forwarded-For中第一个非unknown的有效IP字符串 */ if ($ip != 'unknown') { preg_match("/[d.]{7,15}/", $realip, $onlineip); return $realip; |
几个关键的函数。
is_dir($dirname) //判断一个文件名是否 为目录
opendir($dirname) //打开一个文件夹
readdir($dir_stream) //函数返回由 opendir() 打开的目录句柄中的条目
pathinfo($path) //函数以数组的形式返回文件路径的信息。
例如当前文件夹下的P1010436
例如当前文件夹下的P1010436.jpg文件路径信息数组:
Array
(
[dirname] => .
[basename] => P1010436.jpg
[extension] => jpg
[filename] => P1010436
)
rename(oldname,newname,context) //函数重命名文件或目录。若成功,则该函数返回 true。若失败,则返回 false。
代码如下 | 复制代码 |
<?php |
使用方法很简单,我们把图片与php文件同一目录然后再运行php即可。
下载“Ewebeditor”PHP编辑器。
1在 </head> 之前加上下面一段代码:(得到 ewebeditor 中编辑的内容)
代码如下 | 复制代码 |
<script> |
(2)下面一段代码是把 ewebeditor 嵌入到网页中:
代码如下 | 复制代码 |
<input type="hidden" name="content" id="content" value =""> **********id="content" 中的 content 要与 <iframe> 中的 id=content 相同! <iframe id="ewebeditor" name="ewebeditor" src="ewebeditor/ewebeditor.php?id=content " frameborder="0" scrolling="no" width="100%" HEIGHT="450"> </iframe> |
相关文章
- VPN可以虚拟出一个专用网络,让远处的计算机和你相当于处在同一个局域网中,而中间的数据也可以实现加密传输,用处很大,特别是在一些大公司,分公司处在不同的区域。...2016-01-27
用js的document.write输出的广告无阻塞加载的方法
一、广告代码分析很多第三方的广告系统都是使用document.write来加载广告,如下面的一个javascript的广告链接。复制代码 代码如下:<script type="text/javascript" src="http://gg.5173.com/adpolestar/5173/;ap=2EBE5...2014-06-07- 这篇文章主要介绍了Windows批量搜索并复制/剪切文件的批处理程序实例,需要的朋友可以参考下...2020-06-30
- 距离 Vue 3.0 正式版发布已经有一段时间了,关于vue3组件库相关的问题还是挺多人感兴趣的,这篇文章主要给大家介绍了关于vue3如何按需加载第三方组件库的相关资料,需要的朋友可以参考下...2021-06-02
- 当页面打开时我们需要执行一些操作,这个时候如果我们选择使用jquery的话,需要重写他的3中方法,自我感觉没什么区 别,看个人喜好了,第二种感觉比较简单明了: 第一种: 复制代码 代码如下: <script type="text/javas...2014-06-07
- 这篇文章主要介绍了解决IDEA插件市场Plugins无法加载的问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-10-21
- 如果我们要在Android应用APP中加载html5页面,我们可以使用WebView,本文我们分享两个WebView加载html5页面实例应用。 实例一:WebView加载html5实现炫酷引导页面大多...2016-09-20
- 这篇文章主要为大家详细介绍了C#创建一个简单windows窗体应用的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
- AngularJS 通过路由支持多视图应用, 可以根据路由动态加载所需的视图, 在 AngularJS 的文档中有详细的介绍, 网上也有不少教程, 就不用介绍了!随着视图的不断增加,js文件会越来越多,而 AngularJS 默认需要把全部的js都一次性...2015-10-21
- 本文介绍了如何延迟javascript代码的加载,加快网页的访问速度。 当一个网站有很多js代码要加载,js代码放置的位置在一定程度上将会影像网页的加载速度,为了让我们的网页加载速度更快,本文总结了一下几个注意点...2013-10-13
- 这篇文章主要介绍了Angular性能优化之第三方组件和懒加载技术,对性能优化感兴趣的同学,可以参考下...2021-05-11
解决vue动态路由异步加载import组件,加载不到module的问题
这篇文章主要介绍了解决vue动态路由异步加载import组件,加载不到module的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-27- 这篇文章主要介绍了Powershell 查询 Windows 日志的方法,需要的朋友可以参考下...2020-06-30
- 本篇文章主要介绍了ThinkPHP+jquery实现“加载更多”功能代码,以实例代码讲诉了加载更多的代码实现,非常具有实用价值,需要的朋友可以参考下 ...2017-03-13
- 这篇文章主要介绍了C#实现windows form限制文本框输入的方法,涉及C#限制文本框输入的技巧,非常具有实用价值,需要的朋友可以参考下...2020-06-25
- 本篇文章主要介绍了详解Windows下安装Nodejs步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...2017-05-22
- 本文实例讲述了JS实现不使用图片仿Windows右键菜单效果代码。分享给大家供大家参考,具体如下:这里演示JS不使用图片仿Windows右键菜单效果,这款代码灵活使用了文鼎字,配合CSS和JS做出了这个和系统右键菜单很相似的东东。...2015-10-23
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
这篇文章主要介绍了jQuery Easyui使用之可折叠面板动态加载无效果的解决方案,非常不错,具有参考借鉴价值,感兴趣的朋友一起看下吧...2016-08-24- 下面小编就为大家带来一篇用C++面向对象的方式动态加载so的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-04-25
C# Windows API应用之基于GetDesktopWindow获得桌面所有窗口句柄的方法
这篇文章主要介绍了C# Windows API应用之基于GetDesktopWindow获得桌面所有窗口句柄的方法,结合实例形式分析了GetDesktopWindow函数用于获取窗口句柄的具体使用方法与相关注意事项,需要的朋友可以参考下...2020-06-25