‘PHP’ 分类的存档
博客这些天一直处于死亡状态,昨天空间商帮忙把博客从浙江机房搬到河南机房了,暂时可以开通了。
Warning: Cannot modify header information – headers already sent by (output started at /*****/wp-includes/compat.php:230
头部有输出,昨天加班到比较晚,回家看《花木兰》,没去管博客,今天来公司,发现问题严重了,Google竟然抓取了页面
打开这些PHP的文件,发现下面全部都多了两行,就是php闭合标签之后多出了两个空行,造成在include 或是 require 后会有输出。
开始以为是只有几个文件是这样的,多打开几个发现,整个空间里面的php文件js,css,php都多出了两个空行,估计是华夏名网的在线文件管理器打包造成的。
因为本人对正则不熟悉,不过其实用正则替换倒不是太难,关键问题在于windows和linux下面的换行,回车符号的区别,费了不少时间研究。
虽然我知道windows下面是\r\n linux下面是\n 可是我用\r\n在windows系统上怎么也匹配不了,后来才发现我用的eclipse里面的我用的是Unix格式,换行就是\n,而不是\r\n,功夫不负苦心人哈,把代码贴出,也可以下载,有什么更好的方法,记得告诉我哈,各位!
//$path=__DIR__;//php 5.3
$path=dirname(__FILE__);
function get_all_files($path,$pattern=’/php$|js$|css$/i’){
$list = array();
foreach( glob( $path.DIRECTORY_SEPARATOR.’*') as $item ){
if( is_dir( $item ) ){
[...]
今天新本本到了,晚上回家来安装xampp,APACHE还是一样好装,加入服务后,关闭80端口后,就启动了。
mysql竟然出问题,这还是第一次启动不了呢。1067错误,在windows的日志里查看,错误如下
Can’t find messagefile ‘\xampp\mysql\share\english\errmsg.sys’
Can’t create test file \xampp\mysql\data\cherry-PC.lower-test
在WINDOWS XP下没有问题,因为我现在用的是VISTA,解决办法是找到xampp\mysql\bin\mysql.ini
把其中的\xampp\ 加上盘符,比如我的xampp装在E盘,改变后就是E:\xampp\
这样就可以启动啦。
这几天突然想弄一个相册,放点图片。决定放Flickr上面,寻觅这样的插件,发现很多人说用Falbum,有很不错的评价,可惜我下载了最新版本,安装了却老有问题,要放弃时,偶然发现了这个插件,觉得挺好用的。Flickr Photo Album for WordPress,可以在sidebar提供照片,可以单独设置一个页面放相册。
讲一下安装吧:
1、当然下载这个zip的插件包,点这里下载
2、在wp后台,添加新插件,上传,激活插件
3、如果你想要单独的页面放相册,那么要开启rewrite,把原来的固定链接改成其它的样子
4、配置photo album
首先是授权,你必须要有一个Flickr的账号,这个自己解决吧,操作也明显。
相片集聚合 这个选项,设置路径,比如我设置的是photos/
下面的按你的想法配置了。
留着,仅供自己下次安装用。都是在网上找的方法,只是给组合了下。
(温馨提示:如果你复制的安装过程,可能有类似这样的错误:
configure: warning: /usr/local/php:: invalid host type
…
configure: error: can only configure for one host and one target at a time
我写的是–with-前面是两个-,但是wp经过了处理变成一个-了,所以你在记事本里面把-替换成两个-就行了
)
1、使用 yum 程序安装所需开发包(以下为标准的 RPM 包名称)
# yum install gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel zlib-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel
# 这里我们将编译GD所必须的一些小软件比如libpng,libtiff,freetype,libjpeg等先用RPM的方式一并安装好,避免手动编译浪费时间,同时也能避免很多错误,这几个小软件的编译很麻烦。这几个小软件编译错误了,GD当然安装不了,php5的编译当然也没戏了。所以我们抓大放小,对这些小牛鬼蛇神采取快速简洁的方式进行安装。并且对服务器的性能也不能产生什么影响。
2、源码编译安装所需包 (Source)
(1) GD2
# cd /usr/local/src
# wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz
# tar xzvf gd-2.0.33.tar.gz
# cd gd-2.0.33
# ./configure –prefix=/usr/local/gd2 –mandir=/usr/share/man [...]
最终决定把PHP从5.2.11换成5.3,运行phpmyadmin的时候,就报错了。
Warning: strtotime() [function.strtotime]: It is not safe to rely on the system’s timezone settings. ………………..
没有设置默认时区,编辑
/etc/php.ini
找到
;date.timezone=
把分号去掉,并且在后面加上PRC,因为在中国
date.timezone=PRC
重启apache
service httpd restart 前提是你把apache设置成服务 否则就是
apache_dir/bin/apache1 restart
Google Syntax Highlighter for WordPress 的代码注释部分和我用的这个模板cordobo-green-park-2有一点小问题,见下图
1、点击已经安装插件
2、编辑 Google Syntax Highlighter for WordPress
3、在右侧找插件文件:google-syntax-highlighter/Styles/SyntaxHighlighter.css,点击
4、在编辑区,把滚动条直接拉到最下面
5、修改倒数第三行 .dp-highlighter .comment, .dp-highlighter .comments { color: #008200;}
改为 .dp-highlighter .comment, .dp-highlighter .comments { color: #008200; border:none;}
6、更新文件
之前安装的高亮插件是SyntaxHighlighter Plus,贴上代码后,$this->cache=1;这样代码都经过了htmlspecialchars的处理,变成了$this->cache=1;这样也就算了,一共替换三组经过htmlspecialchars转换的代码
str_replace(’&’,'&’,$code);
str_replace(’<’,'amp;lt;’,$code);
str_replace(’>’,'amp;gt;’,$code);
这样处理后竟然是直接保存了,我修改一次文章,他就替换一次最终的结果是,看下面代码
$smarty-&amp;amp;amp;amp;gt;compile_dir=’templates_c/’;
$smarty-&amp;amp;amp;amp;gt;cache_dir=’cache/’;
$smarty-&amp;amp;amp;amp;gt;caching=1;
$smarty-&amp;amp;amp;amp;gt;debugging=0;
真是失败!!!想想修改下代码继续用,可是因为以前听说过 Google Syntax Highlighter for WordPress 完全用JS实现的,这样就不会出现SyntaxHighlighter Plus修改我文章的现象了。
今天要用PHP去连接MSSQL2000,可惜出错,网上出现这样的错误的人真多,可是给出的解答较少,我整理下发出来。
Warning: mssql_connect(): Unable to connect to server:解决办法:
一、第一个要检查的是MSSQL2000的1433端口有没有起动。
进入DOS(开始菜单-运行-输入cmd),转入 netstat -ano 回车
看看TCP 后面有没有1433,如果有就不管了,如果没有就打开MSSQL2000的企业管理器—工具—-SQL查询分析器,
输入 select @@version 按F5
查看输出的结果如:
Microsoft SQL Server 2000 – 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Personal Edition on Windows NT 5.1 (Build 2600: Service Pack 3)
如前面的Microsoft SQL Server 2000 – 8.00.2039,如果这样的就不管了,如果不是的,那就去打补丁吧。
网上都说打SP3的补丁,我是直接打的SP4的补丁,给出下载地址:
http://www.xdowns.com/soft/38/110/2006/Soft_34181.html
或者
http://www.crsky.com/soft/5814.html
下载回来后,解压,进入点出setup.bat安装。完成后重启电脑,再按上面的方法,看看检查1433端口起动没有。
至此,第一步保证1433正在被侦听。
下载了“Eclipse For PHP”,准备创建一个PHP项目。输入项目名称“Test”,一路Next。结果出现如下错误:
Creation of element failed.
Reason:
Build path contains duplicate entry:”D:/eclipse/plusgins/org.eclipse.php.core_2.1.0.v20090617-2341/Resources/language/php5″ for project Test
在CSDN的帖子上找到了原因,原来这是一个Eclipse的BUG,在输入项目名称后直接点“Finish”就可以正常创建了。
关于这个BUG:https://bugs.eclipse.org/bugs/show_bug.cgi?id=280935
K问:“你知道那些高手为什么不闭合php的标签 ?>,我一直没想明白!”。K说话很幽默,不过我确实还没有看到过,估计这证明,我连高手长啥样都还不知道,K比我强,近高手更近一些……
网上搜索了下,得出结论
PHP闭合标签“?>”在PHP中对PHP的分析器是可选的。
如果使用闭合标签,任何由开发者,用户,或者FTP应用程序插入闭合标签后面的空格都有可能会引起多余的输出、php错误、之后的输出无法显示、空白页。
回想起来,在一次给别人搞ZEN-CART二次开发的时候,的确是有一个文件在PHP标签结束有多余的空格,造成了输出,页面出错。
近来研究magento,发现它的PHP文件基本上都没有闭合,心想纯属高手所为,难怪国内的PHP大侠们都说magento很牛X呢。
现在我也喜欢不加结束标签了——近高手近点!









