关于我今天的另一个问题,我想知道如何正确使用MySQLSLEEP(duration).
从我收集的阅读MySQL Dev论坛和MySQL Docs中非常模糊的描述我不能这样使用它:
SELECT ...
SLEEP(1); /* wait for a second before another SELECT */
SELECT ...
Run Code Online (Sandbox Code Playgroud)
那么它有什么好处呢?
有人可以帮我弄这个吗?我觉得我现在已经在墙上撞了两个多小时了.
我已经Apache 2.2.8 + PHP 5.2.6安装在我的机器上,.htaccess下面的代码工作正常,没有错误.
RewriteEngine on
RewriteCond $1 !^(index\.php|css|gfx|js|swf|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ /index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
我的托管服务提供商服务器上的相同代码给我一个404错误代码并输出only: No input file specified.index.php就在那里.我知道他们安装了Apache(无法在任何地方找到版本信息),他们正在运行PHP v5.2.8.
我在Windows XP 64-bit,他们正在运行的一些Linux与PHP在CGI/FastCGI模式.任何人都可以建议可能是什么问题?
PS.如果重要的是CodeIgniter使用友好的URL.
UPDATE1:
mod_rewrite 安装并打开.
我注意到的是,如果我RewriteRule改为/index.php?$1(问号而不是正斜杠),它会进入无限循环.无论如何,使用问号不是一个选项,因为CodeIgniter(必需)不会以这种方式工作.
当我直接请求index.php时,主页也可以使用: example.com/index.php
我开始认为可能是apache认为一旦添加了斜杠,它就不再是一个文件了,而是一个文件夹.如何改变这种行为?
更新2:
我错了.
Apache正确处理这些URL.
请求http://example.com/index.php/start/(主页)或任何其他有效地址有效.
似乎Apache只是因为某种原因没有转发查询.
更新3:
只是为了清楚我想要实现的目标.
我想重写这样的地址:
http://www.example.com/something/ => http://www.example.com/index.php/something/ http://www.example.com/something/else/ => http:// www.example.com/index.php/something/else/
我现在是SVN用户,正在考虑将我的项目转移到git.
我使用一个SVN存储库来保存我创建的所有项目.我的结构是这样的:
/
/group1
/subgroup1
/project1
/branches
...
/tags
...
/trunk
...
/project2
...
/subgroup2
/project3
...
/project4
...
/group2
/subgroup3
...
/subgroup4
...
/lib
/lib1
/lib2
/lib3
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我将项目保存在组中,并/lib包含项目之间共享的库.
我选择了这种排序结构,因为:
svnserve在我的机器上运行作为服务/守护程序,其上托管了所有项目(我不喜欢文件路径方法).现在......到了这一点.我在想:
如果我要转向git,这种工作流程将如何工作?
特别:
svnservegit等效服务所有项目(理想情况下以类似的方式分组).*)我读了git,我明白是这样,但我想与有经验的人仔细检查.
我被要求为应用程序编写Web API(pc可执行文件,而不是web-app),允许发送电子邮件.
用户点击某些内容,该应用与API通信,生成电子邮件并将其发送出去.
我必须确保没有人可以访问API,所以我需要进行某种身份验证,我不知道如何正确地进行身份验证.
将有更多应用程序访问API.
首先想到的是 - 发送用户名和密码,但这并不能解决问题.因为如果有人反编译应用程序,他们将拥有请求URL和变量,包括用户/密码,或者只是它可以被嗅探.
所以...我有什么选择?
我相当肯定安全连接(SSL)目前不可用,但是,这对我反对反编译问题无效,是吗?
编辑
我最初没有说过,但不会要求用户输入用户名/密码.这是必须进行身份验证的应用程序,而不是应用程序的用户.
这已被问过几次,但我认为仍然值得与你们一起检查更多的输入.
我的所有网站都使用Google Analytics来统计数据.由于它依赖于JavaScript,因此我认为检查启用/禁用浏览器中实际启用了JS的人数非常重要.
我记得我经常检查w3schools的浏览器统计数据,最近的结果显示大约95%,这对我来说非常令人满意.但由于它纯粹适用于他们的网站,我想我会检查我的网站是什么.我尝试了几种方法,但最近我计算了所有页面视图和我的main.js文件的所有下载(缓存被"缓存杀手"变量添加到文件路径中).这种方法有一些缺点,因为它不能识别谷歌的机器人(或任何其他),但它仍然足够准确.
令人惊讶的是,只有68%的人访问我最大的网站启用了JS(其他方法 - 例如使用cookie - 我试过显示类似的数字).我很想知道我的方法是完全错误的,这就是为什么这个数字太低了.
由于我构建了不依赖JS工作的网站,从功能的角度来看仍然可以,但这也意味着我的网站有32%的条目被分析计算!这是一个巨大的缺点.
是否有其他网站(w3schools除外)分享他们的统计数据?或者我可以将我的数字与我的数字进行比较?也许甚至有些人可以分享你的?
现在我正在考虑创建自己的统计引擎.但是否有其他(比分析)可靠(和免费)的统计数据解决方案可以建议吗?一个实际上会检查人们是否启用了JS的人?
关于JS检测的任何建议也非常受欢迎.
特别是,我有兴趣知道有多少行代码,但这跨越了许多文件.
我一直在使用notepad ++来编写代码,对于每个文件,它都显示行号,但当然我有空的返回以使代码更具可读性.
有没有人知道我能准确获得实际代码行的插件或工具?
我正在准备一个网站,它会向注册用户发送电子邮件通知.根据我的经验,我知道,发送电子邮件对PHP来说是一个痛苦的过程,特别是当我们谈论成千上万时.我的一个网站不时发送电子邮件给1000-1500人.PHP需要大约5分钟来完成,所以我们在服务器负载最低的情况下一夜之间运行它.我正在使用mail()没有任何SMTP的本机功能.这在专用服务器上运行良好,但我不是这个解决方案的忠实粉丝.
我希望能够随时发送类似的金额,而不会让服务器崩溃(并将其列入黑名单).
我读过,理想的解决方案是每隔几分钟从Cron触发的脚本中批量发送电子邮件(比如20).在我看来,这似乎是一个非常合理的想法,但是...如果我无法访问Cron(并非所有托管服务提供商都可以访问它),并且网站不够流行,无法在页面上触发脚本加载?
我坚持使用我的服务器来进行邮件而不是任何外部解决方案.
PS.我找到了这样的解决方案:http://www.mywebcron.com/但是这有什么用的吗?
编辑
只是添加:
我运行自己的脚本,每晚将数据库转储到文件中.
我想计算转储每个数据库所需的时间(以秒为单位),所以我试图编写一些函数来帮助我实现它,但是我遇到了问题.
我不是bash脚本的专家,所以如果我做错了,就这么说,理想情况下建议替代,请.
这是脚本:
#!/bin/bash
declare -i time_start
function get_timestamp {
declare -i time_curr=`date -j -f "%a %b %d %T %Z %Y" "\`date\`" "+%s"`
echo "get_timestamp:" $time_curr
return $time_curr
}
function timer_start {
get_timestamp
time_start=$?
echo "timer_start:" $time_start
}
function timer_stop {
get_timestamp
declare -i time_curr=$?
echo "timer_stop:" $time_curr
declare -i time_diff=$time_curr-$time_start
return $time_diff
}
timer_start
sleep 3
timer_stop
echo $?
Run Code Online (Sandbox Code Playgroud)
代码应该是非常不言自明的.echo命令仅用于调试.
我希望输出是这样的:
$ bash timer.sh
get_timestamp: 1285945972
timer_start: 1285945972
get_timestamp: 1285945975
timer_stop: 1285945975
3
Run Code Online (Sandbox Code Playgroud)
现在不幸的是,情况并非如此.我得到的是:
$ bash …Run Code Online (Sandbox Code Playgroud) 已经有一些类似的问题,但它们倾向于涵盖从孩子到父母的关系.
另一方面,我希望能够获得IFrame DOM的一些属性.我不想操纵任何东西.我只希望能够读取属性或DOM节点.属性或内容之类的东西.
AFAIK这是不可能的,除非我使用类似的东西window.postMessage.与此解决方案一样合理,它基于事件监听器.这需要在IFrame中定义一个监听器,这意味着要更改IFrame的代码.我想避免这种情况.
如果您想进行跨域Ajax调用,您可以(如果您也有访问权限)设置目标服务器的标头以允许:
Access-Control-Allow-Headers:X-Requested-With
Access-Control-Allow-Methods:POST,GET,DELETE,PUT,OPTIONS
Access-Control-Allow-Origin:*
Run Code Online (Sandbox Code Playgroud)
有趣的是,这对于与IFrame的通信不起作用.所以我的问题是:
(如何)我可以访问跨域IFrame的DOM属性?
在我和网络架构师之间,我们管理着一堆 Web 服务器(FreeBSD)。他负责所有与服务器/网络相关的事情(IP、防火墙、用户/组等),而我负责所有与网络相关的事情(Apache、PHP、MySQL)。有时职责重叠。
有几次对配置文件进行了一些更改,这些更改或多或少地影响了服务器,我们无法弄清楚我们中的哪些人进行了更改以及原因。
我 - 作为一名 Web 开发人员 - 认为将文件置于版本控制之下是一个很好的做法(我们目前使用 Subversion),这样无论何时我们更改任何内容,我们都必须提交更改评论。它将解决想知道谁做了什么以及为什么做的所有问题。
我想到的特定配置文件是:
我已经知道,基于这里提出的其他问题,服务器配置文件的想法版本控制是合理的。我唯一担心的是如何在 Web 服务器端正确执行此操作,因为文件位于不同的位置。将整个/usr/local/etc置于版本控制之下似乎毫无意义,因为它不仅包含配置文件。
我想知道是否不创建一个新文件夹,说/config哪个将受版本控制并包含我们需要的所有配置文件,然后用符号链接替换原始/config文件到文件夹中的文件。例如:
/usr/local/etc/apache22/httpd.conf -> /config/apache22/httpd.conf
Run Code Online (Sandbox Code Playgroud)
所以问题是:这是一个好主意,如果不是,什么是更好的解决方案?