那么,这是事情。 假设我未来的PHP CMS需要每天驱动50万个访问者,并且需要将它们全部logging在MySQL数据库(引用者,IP地址,时间等)中。 这样我需要每分钟插入300-500行,并更新50。 主要的问题是每次我想插入新行时脚本都会调用数据库,这是每次有人打一个页面。 我的问题是,有什么办法来本地caching传入命中(以及什么是最好的解决scheme,apc,csv …?),并定期例如每10分钟发送到数据库? 这是一个好的解决scheme,这种情况下的最佳做法是什么?
我有一个bash脚本,我通过命令行像这样运行: ./script.sh var1 var2 我正在尝试执行上述命令后,我打电话给某个PHP文件。 我现在所拥有的是: $output = shell_exec("./script.sh var1 var2"); echo "<pre>$output</pre>"; 但它不工作。 我也使用exec和system来尝试它,但脚本从来没有得到执行。 但是,当我尝试运行shell_exec("ls"); 它确实工作, $output是所有文件的列表。 我不知道这是否是因为我使用的VPS的限制,或者如果问题在别的地方?
我可以在一个对象中声明一个方法作为一个静态方法和非静态方法,它们具有相同的名称来调用静态方法吗? 我想创build一个具有静态方法“发送”的类和一个调用静态函数的非静态方法。 例如: class test { private $text; public static function instance() { return new test(); } public function setText($text) { $this->text = $text; return $this; } public function send() { self::send($this->text); } public static function send($text) { // send something } } 我希望能够调用这两个函数 test::send("Hello World!"); 和 test::instance()->setText("Hello World")->send(); 可能吗?
我是OOP范式的新手,所以这个问题可能有一个简单的解释。 你是否总是需要在类中声明公共对象的variables? 例如: <?php class TestClass { var $declaredVar; function __construct() { $this->declaredVar = "I am a declared variable."; $this->undeclaredVar = "I wasn't declared, but I still work."; } function display() { echo $this->declaredVar . "<br />"; echo $this->undeclaredVar; echo "<br /><br />"; } } $test = new TestClass; $test->display(); $test->declaredVar = "The declared variable […]
从手册 : void __halt_compiler ( void ) 这个函数暂停编译器的执行。 将数据embeddedPHP脚本(如安装文件)可能会很有用。 注意: __halt_compiler()只能从最外层的范围使用。 任何人都可以提供一个实际情况下,这个function是有用的
我有一个问题,当我有一个PHP应用程序返回一个内部服务器错误(500),但没有任何显示在错误日志中。 现在我知道有什么我想运行的错误,我知道我已经错过了一些文件,但什么不是,但应该显示在Apache错误日志(否则我应该怎么知道我缺less什么)。 我创build了一个testing脚本是错误的,它在相同的虚拟主机configuration和这些错误显示良好,所以一切似乎configuration正确的PHP / Apache。 是否有某些PHP错误,显示在错误日志(PHPconfiguration为显示任何types的通知,警告,错误,致命错误等)? 这是运行在ubunut 10.04与标准的Apache和PHP从Ubuntu的回购apt-get。
我正确的假设const属性是自动公开的吗? 有没有办法让他们私密或保护? 提前致谢。
我有一个PHPUnittesting用例类(由一些testing函数组成)。 我想写一个oneTimeSetUp()函数,在类中的所有testing中调用一次(不像标准的setUp()函数,这个函数在类中的每个testing中都会调用一次)。 换句话说,我正在寻找一个等同于JUnit @BeforeClass注解的PHPUnit。 与oneTimeTearDown()函数相同的问题。 有可能在PHPUnit中这样做吗?
我正在处理一个将从CSV文件导入一些数据的脚本。 因为我这样做,我想能够检查一个variables,看看它是否是一个有效的datestring。 我已经看到了几种方法来检查是否是一个date,但他们中的大多数需要你现在的格式。 我不会知道date的格式。 现在我正在使用strtotime(),但是这并不容易 $field ="May"; if(strtotime($field)){ echo "This is a date"; } 在这种情况下,“五月”是人名,而不是date。 任何一个可以推荐更可靠的function? 根据您的一些问题编辑。 对于一个variables作为一个“date”在我的情况下,它将需要特定于一天/一年/一年,所以只是“五月”将模糊计数。 基于这一点以及Pauls的好点,我们也可以testing一下,看看string是否包含数字,比如 $field ="May"; if(strtotime($field) && 1 === preg_match('~[0-9]~', $field)){ echo "This is a date"; }else{ echo "Nope not a date"; } 这似乎涵盖了我的迫切需求,但是任何一个问题都可以find或者提出改进build议?
有没有一种方法来指定在MySQL中的子查询中的父查询字段? 例如: 我已经用PHP编写了一个基本的公告板types程序。 在数据库中,每个post都包含:id(PK)和parent_id(父post的ID)。 如果该post本身是父亲,则其parent_id设置为0。 我正在尝试编写一个mySQL查询,它将查找每个父级post以及父级拥有的子级数。 $query = "SELECT id, ( SELECT COUNT(1) FROM post_table WHERE parent_id = id ) as num_children FROM post_table WHERE parent_id = 0"; 棘手的部分是,第一个ID不知道它应该引用子查询之外的第二个ID 。 我知道我可以做SELECT id AS id_tmp,然后在子查询中引用它,但是如果我也想返回id并保留“id”作为列名,那么我将不得不做一个查询返回我2列与相同的数据(这似乎是凌乱的我) $query = "SELECT id, id AS id_tmp, (SELECT COUNT(1) FROM post_table WHERE parent_id = id_tmp) as num_children FROM post_table WHERE parent_id […]