文档标签: php学习
先说一下SVN如何与测试的网站链接起来做到及时更新测试网站。
我用的是:crontab服务
先要检出到测试网站文件夹下: # svn co http://xxx/trunk /html/www/demo 就可以将url中的文件checkout到/html/www/demo下了
例:* * * * * cd /html/www/demo && svn up >> /var/logs/cron-svn.log 2>&1
这样就及时更到测试网址上了。
下面介绍一下svn 的常用命令:
1、将文件checkout到本地目录
svn checkout path(path是服务器上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
简写:svn co
2、往版本库中添加新的文件
svn add file
例如:svn add test.php(添加test.php)
svn add *.php(添加当前目录下所有的php文件)
3、将改动的文...
以前搭建的svn都是在局域网用的,由于项目的需要,现在同事可以在家工作,所以就需要远程链接svn。
今天尝试了一下,成功安装并更新到测试网址上了。
搭建SVN服务,有效的管理代码,以下三步可以快速搞定。
1、安装
#yum install subversion
判断是否安装成功
#subversion -v
svnserve, version 1.6.11 (r934486)
出现上面的提示,说明安装成功。
有了SVN软件后还需要建立SVN库。
#mkdir /opt/svn/repos
#svnadmin create /opt/svn/repos
执行上面的命令后,自动在repos下建立多个文件, 分别是conf, db,format,hooks, locks, README.txt。
2、配置
上面的操作很简单,几个命令就搞定, 下面的操作也不难。
进入上面生成的文件夹conf下,进行配置, 有以下几个文件aut...
今天在弄PHP自定义表单的时候出现了以下信息:
Notice: A session had already been started – ignoring session_start()
说一下我的解决方法:看了一下代码,是因为session_regi...那个函数,因为现在的版本已经没有了这个函数,所以只要将其注释掉就可以了!
一下是转载网友的解决方法:
出现以下错误的解决办法:
Notice: A session had already been started – ignoring session_start() in .. on line ..
之所以出现这种情况是页面中多次使用了 session_start()函数
有以下两种解决办法:
1) in php.ini file set session.autostart to 0 配置php.ini 设置session.autostart =0
session.auto_start = 0
2) In your code use this line ...
今天做自定义表单的时候,出现了以下提示:
Deprecated: Assigning the return value of new by reference is deprecated in
定位到出错的那一行:
$_MooClass[$classname] = & new $classname;
我本地环境用的是PHP/5.3.3。
解决办法:php5.3开始后,废除了php中的”=&”符号,所以要想复制,直接用=引用即可。详细如下:
1、PHP5对象复制是采用引用的方式;
2、如果不采用引用方式,则需要在复制对象时加关键字 clone;
3、如果在复制的过程中,同时要变更某些属性,则增加函数_clone();...
最近在修改PHP自定义表单的时候需要在数组判断是否存在,数组中有的是中文。
用ia_array无办法判断是否存在
于量看到网站的解决方法是用substr_count来判断
解决步骤:
1、将数组转换成字符串,join(',',$arr);
2、判断要查找的字符串是在上面转换而来的那个字符中:
substr_count($str1, $str) > 0
表示存在 ...
mysql 忘记密码解决方法
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。
因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的
状态下,其他的用户也可以任意地登录和修改MySQL的信息。可以采用将MySQL对
外的端口封闭,并且停止Apache以及所有的用户进程的方法实现服务器的准安全
状态。最安全的状态是到服务器的Console上面操作,并且拔掉网线。
2.修改MySQL的登录设置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables
例如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
保存并且退出vi。
3.重新启动mysqld
# /etc/init.d/mysqld restart
Stopping MySQL: [ OK ]
...
MYSQL修改字段默认值
alter table tablename alter column drop default; (若本身存在默认值,则先删除)
alter table tablename alter column set default 't5';(若本身不存在则可以直接设定)
如果是主键,这样修改是失败的!
就这样修改:
alter TABLE tablename AUTO_INCREMENT=100000...
读图网最近资源枯竭,于是要 重新添加采集节点。
要求:“GunnerRomantic插画作品(1)” 要求去除字符中的“(1)" ?
因为dedecms后台是用的正则表达式来去除不要的信息。
[php]
$str = "GunnerRomantic插画作品(1)";
echo preg_replace("/\(.*\)/i","",$str);
[/php]
preg_replace、preg_match
preg_replace -- 执行正则表达式的搜索和替换
preg_match() 在第一次匹配之后将停止搜索
哈,本地测试通过!
php正则的一些字符意思:
特殊字符 解释
* 0到多次
+ 1到多次还可以写成{1,}
? 0或1次
. 匹配除换行符外的所有单个的字符
\w [a-zA-Z0-9_]
\s 空白字符(空格,换行符,回车符)[\t\n\r]
\d [0-9]
...
手上有一个项目打到出现zend错误,看了以下情况!
一、执行PHP Zend加密文件报错
现象:
打开网站,出现以下错误
Fatal error: Unable to read **** bytes in
或者是
Fatal error: Corrupted encoded data detected
原因:
这种是由于php页面采用了Zend加密,因此FTP上传方式要使用二进制方式。不能采用auto和ASCII,否则就会出现这个错误
一定要确保下载和上传时都采用二进制方式,不然都有可能产生错误
二、访问出现500 Internal Server Error错误
原因:
查看FTP根目录是否存在.access文件,有的话原因就是因为它(FTP需要设置显示隐藏文件才可见此文件)
服务器不支持权限重写,删除掉此文件就可以正常访问了。
三、执行脚本提示错误
现象:
提示CGI/PHP程序错误: 该脚本不允许执行。不允许执行原因是: 脚本权限错误:不能设置为同组可写!
原因:
PHP文件的权...
昨天有一个客户需要做discuz的论坛提示框,就是常见的右下角那种!
以前也看到个discuz右下角那种提示框,应该不用自己去开发,
discuz的提示框开启位置:后台-》运营-》站长推荐
如果想一次显示多条就需要修改discuz自带的 js 函数 showfocus, 建议自己复制出来重新写,不要在原来的函数上修改!
又一次使用了discuz....
在定义类的时候经常用到PHP的魔术方法,但是我们使用的并不多,就常见的那一两个,下面完整的介绍了PHP魔术方法有那些,PHP魔术方法什么意思!
从PHP 5以后的版本,PHP中的类就可以使用魔术方法了。其规定以两个下划线(__)开头的方法都保留为魔术方法,所以建议大家函数名最好不用__开头,除非是为了重载已有的魔术方法。
1、__get、__set
这两个方法是为在类和他们的父类中没有声明的属性而设计的。
◆__get( $property ) 当调用一个未定义的属性时,此方法会被触发,传递的参数是被访问的属性名。
◆__set( $property, $value ) 给一个未定义的属性赋值时,此方法会被触发,传递的参数是被设置的属性名和值。
这里的没有声明包括当使用对象调用时,访问控制为proteced,private的属性(即没有权限访问的属性)。
2、__isset、__unset
◆__isset( $property ) 当在一个未定义的属性上调用isset(...
php 如何判断字符串中某一字符出现的次数?
介绍一个PHP内置函数substr_count()来实现查询指定字符在字符串中出现的次数,也就是字符出现次数。
函数:substr_count()
功能:计算特定字符在字符串中出现次数
函数原型:int substr_count(string haystrack, string needle)
参数说明:
haystrack 必填 指定要查询的字符串
needle 必填 指定需要查询的字符
返回值:返回值为整型数 字符在指定字符串中出现的次数
实例:
<?php
$str = 'http://www.adophper.com phper,PHP学习_PHP技术_PHP网站建设_PHP程序员专注于PHP技术研究及学习_字符出现次数';
echo substr_count($str,'PHP').'<br />';
echo substr_count($str,'h').'<br />';
e...
PHP strrpos 计算指定字符串在目标字符串中最后一次出现的位置
strrpos
(PHP 4, PHP 5)
strrpos — 计算指定字符串在目标字符串中最后一次出现的位置
说明
int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )
返回字符串 haystack 中 needle 最后一次出现的数字位置。注意 PHP4 中,needle 只能为单个字符。如果 needle 被指定为一个字符串,那么将仅使用第一个字符。
参数
haystack
在此字符串中进行查找。
needle
如果 needle不是一个字符串,它将被转换为整型并被视为字符的顺序值。
offset
或许会查找字符串中任意长度的子字符串。负数值将导致查找在字符串结尾处开始的计数位置处结束。
返回值
返回 needle 存在的位置。如果没有找到,返回 FALSE。...