www.hothosting.info
Free3.org |
Club.HosteGuide.com
previous pause next Hoster Highlights:
ninews2 - Home
首 页 业界新闻促销与打折信息选购指南主机评论主机课堂顶级主机商专区模板下载交流论坛

  当前位置:首页 » 主机课堂 » 应用经验 » 详细

收藏本站  
主机分类推荐
 
网站工具
  1. 主机性能报告
  2. 网站信息查询
  3. 网络服务商客户增减报告
  4. 网页排名查询
  5. WHOIS 查询
  6. IP地址查询
  7. 免费IP签名
HosteGuide
 

五分钟让 DreamHost 打开 allow_url_fopen 配置选项的最简单方法

本文由hosteguide.com原创,如需转载,请保留本超链接 http://cn.hosteguide.com/html/classroom/jingyan/dreamhost-allow_url_fopen,179.html

  

DreamHost 默认不打开文件系统和流配置选项 allow_url_fopen ,而是建议使用一个替代的函数模块 cURL。下面以一个例子说明用 cURL 远程读取的方法:

  第一,allow_url_fopen = On 的情况下:
<?php
 $str = file_get_contents("http://www.hosteguide.com/");
 if ($str !== false) {
  // do something with the content
  echo $str;
 }
?>

  第二,allow_url_fopen = Off 的情况下:
<?php
 $ch = curl_init("http://www.hosteguide.com/");
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 $str = curl_exec($ch);
 if ($str !== false) {
  // do something with the content
  echo $str;
 }
 curl_close($ch);
?>

  但是很多现成的 PHP 采集器是使用依赖于 allow_url_fopen 选项的函数,当初遇到这个问题时,我搜索了一下,大概有2个解决办法,但是都不方便。一个是编译自己的 PHP,该方法是一切从头开始,怎么定义 PHP 都随你,可是费时费力费空间,当初,我还真的尝试了一下,像 Zend Optimizer 等等,也要自己安装,如果,只是为了使用这一个函数,根本没必要这么折腾;另一个方法是上传什么 php-update.sh 脚本文件,也是比较麻烦的。
  后来发现,其实只要定制 php.ini 文件,并让系统知道本网站使用定制的 php.ini 即可,先来说说标准的方法,这需要对 lunix 有一点了解,之后再给出一个更容易的方法,标准的方法如下:
  1)用 ssh 方式登录到你的网站,找到以你的网站名命名的目录,例如 hosteguide.com,在它下面用 mkdir 命令创建一个子目录 cgi-bin;
  2)把默认的 php.cgi 和 php.ini 文件放到 cgi-bin 目录下,可以从 DreamHost 的系统目录中拷贝,以我的网站为例:
    cp /dh/cgi-system/php5.cgi  hosteguide.com/cgi-bin/php.cgi
    cp /etc/php5/cgi/php.ini  hosteguide.com/cgi-bin/php.ini
  现在的网站是 php5 的,我也是建议使用这个版本。如果,你使用的是 php4,则要从 /dh/cgi-system/php.cgi 和 /etc/php/cgi/php.ini 分别获取 DreamHost 的默认 php.cig 和 php.ini 文件;
  3)编辑 php.ini 文件,把 allow_url_fopen = Off 改为 allow_url_fopen = On 并保存;
  4)在域名同名的目录下创建(如果已经存在就修改).htaccess 文件,例如 hosteguide.com/.htaccess 文件,在文件中添加
    AddHandler  php-cgi  .php
    Action  php-cgi  /cgi-bin/php.cgi
  5)修改文件的访问权限,例如:
 chmod 644 hosteguide.com/.htaccess
 chmod 755 hosteguide.com/cgi-bin
 chmod 750 hosteguide.com/cgi-bin/php.cgi
 chmod 644 hosteguide.com/cgi-bin/php.ini

  现在就可以正常使用依赖于 allow_url_fopen 选项的函数,或者 PHP 的采集器。

相关文章
  1. 通过 Wget与ls的组合用文件清单批量下
  2. 在linux系统下用命令行修改时间日期的
  3. 国际域名过期后删除的流程
  4. 世界各域名过期与掉出时间大全(随时更
  5. 关于 PHP 程序出现怪异的空白页问题
  6. Centos Linux 服务器安装配置笔记
  7. 网线(双绞线)制作快速教程
  8. 接受国外客户信用卡付款的几种方法
您的观点
最新评论:
我们欢迎您对这篇文章进行评论,需审核,请自觉遵守互联网相关政策法规。 
发表评论:
评论内容
少于250字
用户名:    密码:
  匿名? 
注册 

IXWebHosting 4.95美金
2-16个独立IP地址,300G-无限存储空间,1-3个免费域名,Linux/Windows主机可选 仅4.95美金/月

 

国际域名注册仅 1.99美金
全球排名第一的Godaddy促销,购买任何非主机产品可用1.99美金/年 注册国际域名

 

StartLogic 抢客户特价
将网站转入StartLogic,可获得4.95美金/月的特价(原价5.95美金/月)

 
 
友情链接