这是一个技巧问题,在开发一个php + ajax应用程序时,我感觉到一些长时间的查询,它们没有任何问题,但它们可以在后台完成.
我知道有一种方法可以通过exec()将实际处理发送到另一个进程来向用户发送回复,但它对我来说感觉不对,这可能会产生漏洞并且使它与虚拟兼容并不实际服务器和跨平台.
PHP提供了ob_*函数,尽管它们有助于刷新缓存,但用户将保持连接直到脚本运行.
我想知道在向用户发送数据并使用apache关闭连接/线程之后是否有一个替代exec来保持脚本运行,或者将处理数据发送到另一个脚本的"脏"方式.
我正在将一个相当简单的表移植到我的实时数据库服务器上,当我尝试创建一个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存储文件的文件夹,看看那里是否有垃圾,没有.
有任何想法吗?
我有一个设置,我根据需要加载许多模块,当更改特定变量时,每个模块都有特定的加载需求。我需要类似 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)
谢谢。
是否有可能在同一天内获得随机物品?
例如:
+----+---------------------+ | 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 …
我有这个函数来解析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?
我的正则表达能力很差:(
谢谢.
最近我导入了一个新的数据库,在我的本地机器上进行开发,但它不起作用: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) 我需要实现一个网络服务,要求我在具有一堆不同 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)