两个问题^_^

armi514 2003-09-28 12:05:00
问题一
编好的东西在 4.2.1下运行正常
在4.3.2 下运行出错
对于没有给值的变量 显示出错为Notice: Undefined variable: clas in  c:\p\.................................
对于有 $PHP_SELF的地方 出错显示为 Notice: Undefined variable: PHP_SELF in c:................................
请问这是怎么回事呀 怎摸办呀???????????

问题二
用php作计数器 就是从库中提出count 再加1就 可以了吧
有什么锁定吗?和ASP是的吗
如果同时N个人一起上线 会不会出现只加1的现像
会为什么?不会为什么?
...全文
45 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
armi514 2003-09-29
  • 打赏
  • 举报
回复
1很怪,那为什么我在 4.2.3下用没事 到4.3.3下就不成呢?

2关于锁定的问题大家又是怎么处理的呢?比如说 做计数器时 是直接c=c+1吗?
feel8 2003-09-29
  • 打赏
  • 举报
回复
1 对程序应该没有什么影响,调试程序时打开方便知道错误
fishchen 2003-09-29
  • 打赏
  • 举报
回复
2.会.特别是在上线人数较多时容易发现.
需要解决并发访问时的锁定问题.

不过如果是直接set count=count+1或用其它方法基本可以依赖数据本身的锁机制去避免
feel8 2003-09-28
  • 打赏
  • 举报
回复
1.php.ini 中设置 error_reporting = E_ALL & ~E_NOTICE 
display_errors = Off


<?php
echo $_SERVER["PHP_SELF"];
?>

2. 不知道:(

indeed 2003-09-28
  • 打赏
  • 举报
回复
楼上两位已经将此问题解决,支持。。。。。
DFlyingchen 2003-09-28
  • 打赏
  • 举报
回复
第二个问题:
需要在你操作文件的时候先锁定,操作之后再释放,请参考如下函数以及例子:
flock
(PHP 3>= 3.0.7, PHP 4 )

flock -- Portable advisory file locking
Description
bool flock ( resource handle, int operation [, int &wouldblock])


PHP supports a portable way of locking complete files in an advisory way (which means all accessing programs have to use the same way of locking or it will not work).

flock() operates on handle which must be an open file pointer. operation is one of the following values:



To acquire a shared lock (reader), set operation to LOCK_SH (set to 1 prior to PHP 4.0.1).

To acquire an exclusive lock (writer), set operation to LOCK_EX (set to 2 prior to PHP 4.0.1).

To release a lock (shared or exclusive), set operation to LOCK_UN (set to 3 prior to PHP 4.0.1).

If you don't want flock() to block while locking, add LOCK_NB (4 prior to PHP 4.0.1) to operation.


flock() allows you to perform a simple reader/writer model which can be used on virtually every platform (including most Unix derivatives and even Windows). The optional third argument is set to TRUE if the lock would block (EWOULDBLOCK errno condition)

Returns TRUE on success or FALSE on failure.

Example 1. flock() example

<?php

$fp = fopen("/tmp/lock.txt", "w+");

if (flock($fp, LOCK_EX)) { // do an exclusive lock
fwrite($fp, "Write something here\n");
flock($fp, LOCK_UN); // release the lock
} else {
echo "Couldn't lock the file !";
}

fclose($fp);

?>




Note: Because flock() requires a file pointer, you may have to use a special lock file to protect access to a file that you intend to truncate by opening it in write mode (with a "w" or "w+" argument to fopen()).

armi514 2003-09-28
  • 打赏
  • 举报
回复
1
php.ini 中设置 error_reporting = E_ALL & ~E_NOTICE 
display_errors = Off
对其它会产生影响吗?

2
我想知道 在加入数据库时会不会出现N个人一起上线 只加1的现像 ? 不是问的文本,希望解答。

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧