2007/03/02 18:24
<form action="1.asp" method="post">
<input type="checkbox" value="1" name="chk" title="选择/不选">1
<input type="checkbox" value="2" name="chk" title="选择/不选">2
<input type="checkbox" value="3" name="chk" title="选择/不选">3
<input type="submit" name="submit">
</form>
选中1和3两个选项,提交后,如果是在asp中
Response.Write Request.Form("chk")
这样输出:1, 3
即多个选中的同名checkbox的值,以,隔开相连,最终得到的是一个字符串。
今天改用php获取
echo $_POST['chk'];
发现,只能获取到最后一个checkbox的值,即3。经过多次测试,发现总是只能获取到最后一个值。
联想到之前写的一篇从多选(multiple)的select中得到所选结果,从这篇得到启示,可能名字要用数组。把chk改为chk[],显示Array。
print_r($_POST['chk']);
显示:
Array ( [0] => 1 [1] => 3 )
原来提交过来就是数组了,哈,这样更好处理:)
2007/02/06 15:15
去年底写了一篇完整的安装过程,今天照这过程装了一边,安装还算顺利。就是发现了以前写的一些错误及遗漏,在这里补上:
apache的配置文件中要加一句,保证php能解释:
AddType application/x-httpd-php .php
这次安装apache,采用worker模式:
./configure --prefix=/usr/local/apache2 --enable-modules=most --enable-rewrite --enable-so -with-mpm=worker
装完php后,php.ini无需修改。
apache的配置文件中要加一句,保证php能解释:
AddType application/x-httpd-php .php
这次安装apache,采用worker模式:
./configure --prefix=/usr/local/apache2 --enable-modules=most --enable-rewrite --enable-so -with-mpm=worker
装完php后,php.ini无需修改。
2007/02/06 13:16
一般是网站需要定时更新时会用到此功能。相比Windows需要通过计划任务或者第三方软件来实现,linux相比而言会方便很多。当然,一开始需要学习一下它的规则。
一种方法将需要执行的文件copy到其自带的目录中。
如cp shell.php /etc/cron.daily/
则shell.php每天都会运行一次。
cp shell.php /etc/cron.hourly/
每小时执行一次。
另一种:
直接用crontab命令编辑
cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
比如说root查看自己的cron设置:crontab -u root -l
再例如,root想删除fred的cron设置:crontab -u fred -r
在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e
在编辑时,前面五个*号代表五个数字,数字的取值范围和含义如下:
分钟 (0-59) 小時 (0-23) 日期 (1-31) 月份 (1-12) 星期 (0-6)//0代表星期天
除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。以下举几个例子说明问题:
每天早上6点
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。
*/5 * * * do something每隔5分钟执行一次
晚上11点到早上8点之间每两个小时,早上八点
0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt
运行多条命令需要用;隔开
*/5 * * * cd /xxx/xxx;/usr/local/php5/bin/php /home/shel..php
或者你直接建立一个some.sh文件,文件里就两句。
cd /xxx/xxx
/usr/local/bin/php xxxx.php
然后crontab那边就是some.sh了
cron详细解说:http://www.itlearner.com/article/2006/3589.shtml
一种方法将需要执行的文件copy到其自带的目录中。
如cp shell.php /etc/cron.daily/
则shell.php每天都会运行一次。
cp shell.php /etc/cron.hourly/
每小时执行一次。
另一种:
直接用crontab命令编辑
cron服务提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
比如说root查看自己的cron设置:crontab -u root -l
再例如,root想删除fred的cron设置:crontab -u fred -r
在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e
在编辑时,前面五个*号代表五个数字,数字的取值范围和含义如下:
分钟 (0-59) 小時 (0-23) 日期 (1-31) 月份 (1-12) 星期 (0-6)//0代表星期天
除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。以下举几个例子说明问题:
每天早上6点
0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。
*/5 * * * do something每隔5分钟执行一次
晚上11点到早上8点之间每两个小时,早上八点
0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt
运行多条命令需要用;隔开
*/5 * * * cd /xxx/xxx;/usr/local/php5/bin/php /home/shel..php
或者你直接建立一个some.sh文件,文件里就两句。
cd /xxx/xxx
/usr/local/bin/php xxxx.php
然后crontab那边就是some.sh了
cron详细解说:http://www.itlearner.com/article/2006/3589.shtml
2007/02/05 15:46
查看日志,发现太多的这条记录了:(
::1 - - [05/Feb/2007:16:05:27 +0800] "GET / HTTP/1.0" 200 263 "-" "Apache/2.2.3 (Unix) DAV/2 PHP/5.1.6 (internal dummy connection)"
搜索一下,应该是Apache2.2以上版本才有此问题。
It's defined in /server/mpm_common.c:
| This function connects to the server, then immediately closes the
| connection.
| This permits the MPM to skip the poll when there is only one listening
| socket, because it provides a alternate way to unblock an accept()
| when the pod is used.
pod=pipe of death.
| The pipe of death is used to tell all child processes that it is time
| to die gracefully.
So if you use the worker MPM which doesn't use a pod, there are no
internal dummy connections anymore.
--
Robert
来源:http://www.gossamer-threads.com/lists/apache/users/309026
查了近半个小时,终于找到解决方法。
原来是配置的时候,要采用-with-mpm=worker方式。
参考:Apache 2.0性能优化—MPM的选择与配置
::1 - - [05/Feb/2007:16:05:27 +0800] "GET / HTTP/1.0" 200 263 "-" "Apache/2.2.3 (Unix) DAV/2 PHP/5.1.6 (internal dummy connection)"
搜索一下,应该是Apache2.2以上版本才有此问题。
It's defined in /server/mpm_common.c:
| This function connects to the server, then immediately closes the
| connection.
| This permits the MPM to skip the poll when there is only one listening
| socket, because it provides a alternate way to unblock an accept()
| when the pod is used.
pod=pipe of death.
| The pipe of death is used to tell all child processes that it is time
| to die gracefully.
So if you use the worker MPM which doesn't use a pod, there are no
internal dummy connections anymore.
--
Robert
来源:http://www.gossamer-threads.com/lists/apache/users/309026
查了近半个小时,终于找到解决方法。
原来是配置的时候,要采用-with-mpm=worker方式。
参考:Apache 2.0性能优化—MPM的选择与配置
2007/01/31 15:10
[root@xmcncn bin]# /usr/local/php5/bin/php /www/admin_make.php
PHP Warning: PHP Startup: Unable to load dynamic library './php_mysql.dll' - ./php_mysql.dll: cannot open shared object file: No such file or directory in Unknown on line 0
找一下
locate php_mysql.dll
warning: locate: warning: database /var/lib/slocate/slocate.db' is more than 8 days old
更新一下
updatedb&
locate php_mysql.dll
找不到:(
看了下其它服务器的配置,php_mysql.dll是注释掉的,原来这些dll是针对windows下装php才用的着的,在linux下根本没用。注释掉后,再执行,没那句提示了。新的错误出现了:
Warning: require_once(../www/inc.php): failed to open stream: No such file or directory in /www/admin_make.php on line 2
Fatal error: require_once(): Failed opening required '../www/inc.php' (include_path='.:/usr/local/php5/lib/php') in /www/admin_make.php on line 2
再问gump,原来需要先cd到那个文件目录,然后再执行。
果然是这样...
PHP Warning: PHP Startup: Unable to load dynamic library './php_mysql.dll' - ./php_mysql.dll: cannot open shared object file: No such file or directory in Unknown on line 0
找一下
locate php_mysql.dll
warning: locate: warning: database /var/lib/slocate/slocate.db' is more than 8 days old
更新一下
updatedb&
locate php_mysql.dll
找不到:(
看了下其它服务器的配置,php_mysql.dll是注释掉的,原来这些dll是针对windows下装php才用的着的,在linux下根本没用。注释掉后,再执行,没那句提示了。新的错误出现了:
Warning: require_once(../www/inc.php): failed to open stream: No such file or directory in /www/admin_make.php on line 2
Fatal error: require_once(): Failed opening required '../www/inc.php' (include_path='.:/usr/local/php5/lib/php') in /www/admin_make.php on line 2
再问gump,原来需要先cd到那个文件目录,然后再执行。
果然是这样...







