登录发现更多内容
首页
分类
目录
索引
标签
酷站
用户名
Email
自动登录
找回密码
密码
登录
成为会员
只需一步, 快速开始
登录
立即登录
立即注册
其他登录
QQ
微信
新首页
Portal
观海听潮
小百科
创业沙龙
关于我们
酷站
科技资讯
搜索
搜索
本版
帖子
用户
活动
好友
帖子
收藏
道具
勋章
任务
动态
记录
门户
导读
排行榜
设置
我的收藏
退出
首页
›
快活林
›
猿氏悟语
›
DreamHost自己编译PHP,支持采集(allow_url_fopen) ...
0赞
赞赏
手机版
扫码打开手机版
把文字装进口袋
返回列表
DreamHost自己编译PHP,支持采集(allow_url_fopen)
[ 复制链接 ]
东方不摆
2008-9-30 12:08:50
DreamHost 自己编译PHP,支持采集(allow_url_fopen)
第一种方法:
1. 下载 php_update.sh 。如果是PHP5,下载 php5_update.sh;如果是 PHP4,下载 php4_update。下面以php5举例。同时下载 附件中的 .htaccess 文件
更新一下:点这里下载php5_update.sh和htaccess文件,我打包好了。
2. FTP上传文件 php5_update.sh 和 .htaccess 到相应域名的根目录
3. SSH登录到Dreamhost,具体操作参见教程六:使用Dreamhost的Shell
4. 修改文件属性为可执行,并执行
chmod +x php5_update.sh
./php5_update.sh
复制代码
5. 增加定时项,每周执行一次 php5_update.sh
crontab -e
复制代码
然后输入内容
@weekly /home/your-user-name/your-domain-name/php5-update.sh
复制代码
按Ctrl + O保存后,按Ctrl + X退出
众所周知,DH默认是不支持大部分的采集器,因为DH默认PHP的 allow_url_fopen 选项没有打开,这是DH的一个大缺陷。好在DH可以让用户自己编译PHP,打开这些选项。
编译方法:
1. 下载附件中的文件 installscript.sh,将其中的“your.domain.com”替换为你的真实域名,然后上传到你的域名目录中
2. 用shell登陆系统
3. 修改 installscript.sh 的属性为可执行:执行命令 “chmod +x installscript.sh”
4. 执行installscript.sh: ./installscript
5. 编译成功后,修改 .htaccess,使用刚才编译出的php程序来解析php文件;在 .htaccess 中添加如下内容:
AddHandler phpFive .php
Action phpFive /cgi-bin/php.cgi
复制代码
6. 修改 php.ini,该文件在 ~/your_domain_name/etc/php5/ 目录下,打开 allow_url_fileopen 选项
installscript.sh源码:
#!/bin/sh
# Script updated 2006-12-25 by Carl McDade (hiveminds.co.uk) to allow memory limit and freetype
# Save the code to a file as *.sh
# Abort on any errors
set -e
# The domain in which to install the PHP CGI script.
export DOMAIN=”your.domain.com”
# Where do you want all this stuff built? I’d recommend picking a local
# filesystem.
# ***Don’t pick a directory that already exists!*** We clean up after
# ourselves at the end!
SRCDIR=${HOME}/source
# And where should it be installed?
INSTALLDIR=${HOME}/php5
# Set DISTDIR to somewhere persistent, if you plan to muck around with this
# script and run it several times!
DISTDIR=${HOME}/dist
# Pre-download clean up!!!!
rm -fr $SRCDIR $DISTDIR
# Update version information here.
PHP5=”php-5.2.0″
LIBICONV=”libiconv-1.11″
LIBMCRYPT=”libmcrypt-2.5.7″
LIBXML2=”libxml2-2.6.27″
LIBXSLT=”libxslt-1.1.18″
MHASH=”mhash-0.9.7.1″
ZLIB=”zlib-1.2.3″
CURL=”curl-7.14.0″
LIBIDN=”libidn-0.6.8″
CCLIENT=”imap-2004g”
CCLIENT_DIR=”imap-2004g” # Another pest!
FREETYPE=”freetype-2.2.1″
# What PHP features do you want enabled?
PHPFEATURES=”–prefix=${INSTALLDIR} \
–with-config-file-path=${INSTALLDIR}/etc/php5/${DOMAIN} \
–enable-force-cgi-redirect \
–with-xml \
–with-libxml-dir=${INSTALLDIR} \
–with-freetype-dir=${INSTALLDIR} \
–enable-soap \
–with-openssl=/usr \
–with-mhash=${INSTALLDIR} \
–with-mcrypt=${INSTALLDIR} \
–with-zlib-dir=${INSTALLDIR} \
–with-jpeg-dir=/usr \
–with-png-dir=/usr \
–with-gd \
–enable-gd-native-ttf \
–enable-memory-limit
–enable-ftp \
–with-exif \
–enable-sockets \
–enable-wddx \
–with-iconv=${INSTALLDIR} \
–enable-sqlite-utf8 \
–enable-calendar \
–with-curl=${INSTALLDIR} \
–enable-mbstring \
–enable-mbregex \
–with-mysql=/usr \
–with-mysqli \
–without-pear \
–with-gettext \
–with-imap=${INSTALLDIR} \
–with-imap-ssl=/usr”
# —- end of user-editable bits. Hopefully! —-
# Push the install dir’s bin directory into the path
export PATH=${INSTALLDIR}/bin:$PATH
#setup directories
mkdir -p ${SRCDIR}
mkdir -p ${INSTALLDIR}
mkdir -p ${DISTDIR}
cd ${DISTDIR}
# Get all the required packages
wget -c [url]http://us3.php.net/distributions/[/url]${PHP5}.tar.gz
wget -c [url]http://mirrors.usc.edu/pub/gnu/libiconv/[/url]${LIBICONV}.tar.gz
wget -c [url]http://easynews.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.7.tar.gz[/url]
wget -c [url]ftp://xmlsoft.org/libxml2/[/url]${LIBXML2}.tar.gz
wget -c [url]ftp://xmlsoft.org/libxml2/[/url]${LIBXSLT}.tar.gz
wget -c [url]http://superb-west.dl.sourceforge.net/sourceforge/mhash/[/url]${MHASH}.tar.gz
wget -c [url]http://www.zlib.net/[/url]${ZLIB}.tar.gz
wget -c [url]http://curl.haxx.se/download/[/url]${CURL}.tar.gz
wget -c [url]http://kent.dl.sourceforge.net/sourceforge/freetype/[/url]${FREETYPE}.tar.gz
wget -c [url]ftp://alpha.gnu.org/pub/gnu/libidn/[/url]${LIBIDN}.tar.gz
wget -c [url]ftp://ftp.cac.washington.edu/imap/old/[/url]${CCLIENT}.tar.Z
echo ———- Unpacking downloaded archives. This process may take several minutes! ———-
cd ${SRCDIR}
# Unpack them all
echo Extracting ${PHP5}…
tar xzf ${DISTDIR}/${PHP5}.tar.gz
echo Done.
echo Extracting ${LIBICONV}…
tar xzf ${DISTDIR}/${LIBICONV}.tar.gz
echo Done.
echo Extracting ${LIBMCRYPT}…
tar xzf ${DISTDIR}/${LIBMCRYPT}.tar.gz
echo Done.
echo Extracting ${LIBXML2}…
tar xzf ${DISTDIR}/${LIBXML2}.tar.gz
echo Done.
echo Extracting ${LIBXSLT}…
tar xzf ${DISTDIR}/${LIBXSLT}.tar.gz
echo Done.
echo Extracting ${MHASH}…
tar xzf ${DISTDIR}/${MHASH}.tar.gz
echo Done.
echo Extracting ${ZLIB}…
tar xzf ${DISTDIR}/${ZLIB}.tar.gz
echo Done.
echo Extracting ${CURL}…
tar xzf ${DISTDIR}/${CURL}.tar.gz
echo Done.
echo Extracting ${LIBIDN}…
tar xzf ${DISTDIR}/${LIBIDN}.tar.gz
echo Done.
echo Extracting ${CCLIENT}…
uncompress -cd ${DISTDIR}/${CCLIENT}.tar.Z |tar x
echo Done.
echo Extracting ${FREETYPE}…
tar xzf ${DISTDIR}/${FREETYPE}.tar.gz
echo Done.
# Build them in the required order to satisfy dependencies.
#libiconv
cd ${SRCDIR}/${LIBICONV}
./configure –enable-extra-encodings –prefix=${INSTALLDIR}
# make clean
make
make install
#libxml2
cd ${SRCDIR}/${LIBXML2}
./configure –with-iconv=${INSTALLDIR} –prefix=${INSTALLDIR}
# make clean
make
make install
#libxslt
cd ${SRCDIR}/${LIBXSLT}
./configure –prefix=${INSTALLDIR} \
–with-libxml-prefix=${INSTALLDIR} \
–with-libxml-include-prefix=${INSTALLDIR}/include/ \
–with-libxml-libs-prefix=${INSTALLDIR}/lib/
# make clean
make
make install
#zlib
cd ${SRCDIR}/${ZLIB}
./configure –shared –prefix=${INSTALLDIR}
# make clean
make
make install
#libmcrypt
cd ${SRCDIR}/${LIBMCRYPT}
./configure –disable-posix-threads –prefix=${INSTALLDIR}
# make clean
make
make install
#libmcrypt lltdl issue!!
cd ${SRCDIR}/${LIBMCRYPT}/libltdl
./configure –prefix=${INSTALLDIR} –enable-ltdl-install
# make clean
make
make install
#mhash
cd ${SRCDIR}/${MHASH}
./configure –prefix=${INSTALLDIR}
# make clean
make
make install
#freetype
cd ${SRCDIR}/${FREETYPE}
./configure –prefix=${INSTALLDIR}
# make clean
make
make install
#libidn
cd ${SRCDIR}/${LIBIDN}
./configure –with-iconv-prefix=${INSTALLDIR} –prefix=${INSTALLDIR}
# make clean
make
make install
#cURL
cd ${SRCDIR}/${CURL}
./configure –with-ssl=${INSTALLDIR} –with-zlib=${INSTALLDIR} \
–with-libidn=${INSTALLDIR} –enable-ipv6 –enable-cookies \
–enable-crypto-auth –prefix=${INSTALLDIR}
# make clean
make
make install
# c-client
cd ${SRCDIR}/${CCLIENT_DIR}
make ldb
# Install targets are for wusses!
cp c-client/c-client.a ${INSTALLDIR}/lib/libc-client.a
cp c-client/*.h ${INSTALLDIR}/include
#PHP 5
cd ${SRCDIR}/${PHP5}
./configure ${PHPFEATURES}
# make clean
make
make install
#copy config file
mkdir -p ${INSTALLDIR}/etc/php5/${DOMAIN}
cp ${SRCDIR}/${PHP5}/php.ini-dist ${INSTALLDIR}/etc/php5/${DOMAIN}/php.ini
#copy PHP CGI
mkdir -p ${HOME}/${DOMAIN}/cgi-bin
chmod 0755 ${HOME}/${DOMAIN}/cgi-bin
cp ${INSTALLDIR}/bin/php ${HOME}/${DOMAIN}/cgi-bin/php.cgi
rm -fr $SRCDIR $DISTDIR
echo ———- INSTALL COMPLETE! ———-
复制代码
参考文档:
http://wiki.dreamhost.com/index.php/Installing_PHP5
注:此文转自网
allow_url_fopen
dreamhost
相关帖子
discuz的dreamhost的rewrite设置方法
Dreamhost开启allow_url_fopen采集功能教程
Dreamhost主机常见问题整理
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
立即登录
点评
本版积分规则
回帖后跳转到最后一页
综合
最新
热度
发表评论
浏览过的版块
IT业界
生活派
东方不摆
关注
主题数387
李彦宏,为什么不像男人一样道歉?
阅读 167664
[转]柳传志先生办公楼下的“神州数码群体事件”
阅读 150025
开源汽车 Rally Fighter
阅读 70523
发布新话题
小帖士
如果你不是特别对他的每一句话感兴趣,不要随意用"关注"人的功能,因为关注以后,他的所有发帖回帖都会以通知的方式提醒你的!
统计信息
会员数: 4660 个
话题数: 8707 篇
巅峰数: 8 人
首页
分类
目录
索引
我的
返回顶部