小编Rod*_*igo的帖子

如何刷新php中的数据并断开用户连接,但保持脚本存活

这是一个技巧问题,在开发一个php + ajax应用程序时,我感觉到一些长时间的查询,它们没有任何问题,但它们可以在后台完成.

我知道有一种方法可以通过exec()将实际处理发送到另一个进程来向用户发送回复,但它对我来说感觉不对,这可能会产生漏洞并且使它与虚拟兼容并不实际服务器和跨平台.

PHP提供了ob_*函数,尽管它们有助于刷新缓存,但用户将保持连接直到脚本运行.

我想知道在向用户发送数据并使用apache关闭连接/线程之后是否有一个替代exec来保持脚本运行,或者将处理数据发送到另一个脚本的"脏"方式.

php ajax multithreading

5
推荐指数
1
解决办法
899
查看次数

无法创建InnoDB表(错误-1)

我正在将一个相当简单的表移植到我的实时数据库服务器上,当我尝试创建一个InnoDB表时,它给了我这个奇怪的错误,表创建是:

CREATE TABLE `cobertura` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `cep` int(8) unsigned zerofill NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id` (`id`),
  KEY `idx_cep` (`cep`)
) ENGINE=InnoDB;
Run Code Online (Sandbox Code Playgroud)

如果我将引擎更改为MyISAM它可以工作,如果我将表名更改为其他名称,它就可以工作.如果我创建表作为MyISAM并且做一个引擎改为InnoDB我得到错误121.我试着查看mysql存储文件的文件夹,看看那里是否有垃圾,没有.

有任何想法吗?

mysql myisam innodb

5
推荐指数
1
解决办法
1428
查看次数

jQuery 在变量更改时触发

我有一个设置,我根据需要加载许多模块,当更改特定变量时,每个模块都有特定的加载需求。我需要类似 jquery 触发器的东西,但它会在变量更改时运行,如下所示:

var x = 0; // no triggers

// something happens

x = 1; // will trigger a function
x = 2; // will trigger the same function
Run Code Online (Sandbox Code Playgroud)

谢谢。

jquery triggers

4
推荐指数
1
解决办法
2万
查看次数

按日分组的rand()的MySQL顺序

是否有可能在同一天内获得随机物品?

例如:

+----+---------------------+  
| id | md                  |  
+----+---------------------+  
|  1 | 2010-06-27 11:26:01 |  
|  2 | 2010-06-27 11:28:20 |  
|  3 | 2010-06-27 11:29:46 |  
|  4 | 2010-06-27 11:30:50 |  
|  5 | 2010-06-27 12:20:56 |  
|  6 | 2010-06-27 12:27:42 |  
|  7 | 2010-06-27 15:14:05 |  
|  8 | 2010-07-06 01:53:33 |  
|  9 | 2010-07-06 01:52:52 |  
+----+---------------------+  

我想在同一天内选择随机物品,但同时我想按日期desc订购.像这样的东西:

+----+---------------------+  
| id | md                  |  
+----+---------------------+  

|  8 | 2010-07-06 01:53:33 |  random block …

mysql random sql-order-by

3
推荐指数
1
解决办法
6142
查看次数

bbcode unparser正则表达式的帮助

我有这个函数来解析bbcode - > html:

  $this->text = preg_replace(array(
    '/\[b\](.*?)\[\/b\]/ms', 
    '/\[i\](.*?)\[\/i\]/ms',
    '/\[u\](.*?)\[\/u\]/ms',
    '/\[img\](.*?)\[\/img\]/ms',
    '/\[email\](.*?)\[\/email\]/ms',
    '/\[url\="?(.*?)"?\](.*?)\[\/url\]/ms',
    '/\[size\="?(.*?)"?\](.*?)\[\/size\]/ms',
    '/\[youtube\](.*?)\[\/youtube\]/ms',
    '/\[color\="?(.*?)"?\](.*?)\[\/color\]/ms',    
    '/\[quote](.*?)\[\/quote\]/ms',
    '/\[list\=(.*?)\](.*?)\[\/list\]/ms',
    '/\[list\](.*?)\[\/list\]/ms',
    '/\[\*\]\s?(.*?)\n/ms'
   ),array(
    '<strong>\1</strong>',
    '<em>\1</em>',
    '<u>\1</u>',
    '<img src="\1" alt="\1" />',
    '<a href="mailto:\1">\1</a>',
    '<a href="\1">\2</a>',
    '<span style="font-size:\1%">\2</span>',
    '<object width="450" height="350"><param name="movie" value="\1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="\1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="450" height="350"></embed></object>',
    '<span style="color:\1">\2</span>',
    '<blockquote>\1</blockquote>',
    '<ol start="\1">\2</ol>',
    '<ul>\1</ul>',
    '<li>\1</li>'
   ),$original);
Run Code Online (Sandbox Code Playgroud)

问题是,如何解析这个,比如html - > bbcode?

我的正则表达能力很差:(

谢谢.

php regex parsing bbcode

2
推荐指数
2
解决办法
844
查看次数

导入到新计算机后,MySQL ENUM列将不匹配引用的值

最近我导入了一个新的数据库,在我的本地机器上进行开发,但它不起作用:ENUM列仅在没有引号的情况下发送变量时才起作用.这是一个例子:

mysql.local>select count(*) from psh_products where active = 1;
+----------+
| count(*) |
+----------+
|    72782 |
+----------+
1 row in set (0.04 sec)

mysql.local>select count(*) from psh_products where active = '1';
+----------+
| count(*) |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

如果你想知道表结构:

CREATE TABLE `psh_products` (
  `productID` int(12) unsigned NOT NULL AUTO_INCREMENT,
  `catID` int(2) unsigned NOT NULL,
  `main_sku` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `sku` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `shortsku` varchar(255) COLLATE utf8_unicode_ci NOT …
Run Code Online (Sandbox Code Playgroud)

mysql mysqldump

2
推荐指数
1
解决办法
485
查看次数

将 SoapClient 请求绑定到特定 IP

我需要实现一个网络服务,要求我在具有一堆不同 IP 的机器SoapServer上使用特定 IP 发送数据。SoapClient问题是,如何强制 PHP 使用这个特定的 IP 发送该请求?

关于 SOAP 的 PHP 文档确实很差。

谢谢。


通过 halfdan 的回答,我能够解决这个问题,所以我发布了一个结果片段:

protected function load_ws() {
    if ($this->ws == null) { // load webservice

        ini_set("soap.wsdl_cache_enabled", 0);
        ini_set("allow_url_fopen", 1);

        try {
            if ($this->context == null) // load stream context socket
                $this->context = stream_context_create(array(
                    "socket" => array(
                        "bindto" => te_auth_ip.":0"
                    )
                ));

            $this->ws = new SoapClient($this->wsdl_path, array(
                "soap_version" => SOAP_1_1,
                "style" => SOAP_RPC,
                "use" => SOAP_ENCODED,
                "authentication" => SOAP_AUTHENTICATION_BASIC,

                "login" => te_login, …
Run Code Online (Sandbox Code Playgroud)

php soap soap-client

1
推荐指数
1
解决办法
4523
查看次数