小编Mic*_*l M的帖子

如何以及何时在MySQL中正确使用SLEEP()?

关于今天的另一个问题,我想知道如何正确使用MySQLSLEEP(duration).

从我收集的阅读MySQL Dev论坛和MySQL Docs中非常模糊的描述我不能这样使用它:

SELECT ...
SLEEP(1); /* wait for a second before another SELECT */
SELECT ...
Run Code Online (Sandbox Code Playgroud)

那么它有什么好处呢?

mysql sleep

52
推荐指数
2
解决办法
10万
查看次数

.htaccess问题:未指定输入文件

有人可以帮我弄这个吗?我觉得我现在已经在墙上撞了两个多小时了.

我已经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,他们正在运行的一些LinuxPHPCGI/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/

php apache .htaccess codeigniter

41
推荐指数
3
解决办法
8万
查看次数

一个git仓库中的多个项目?

我现在是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包含项目之间共享的库.

我选择了这种排序结构,因为:

  1. 在我学习使用SVN的公司中使用了类似的repo结构.
  2. 允许我svnserve在我的机器上运行作为服务/守护程序,其上托管了所有项目(我不喜欢文件路径方法).

现在......到了这一点.我在想:

如果我要转向git,这种工作流程将如何工作?

特别:

  1. 将repo树迁移到git会很简单吗?
  2. 假设每个项目都需要单独的repo*,我将如何通过svnservegit等效服务所有项目(理想情况下以类似的方式分组).

*)我读了git,我明白是这样,但我想与有经验的人仔细检查.

svn git

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

Web API安全性

我被要求为应用程序编写Web API(pc可执行文件,而不是web-app),允许发送电子邮件.
用户点击某些内容,该应用与API通信,生成电子邮件并将其发送出去.

我必须确保没有人可以访问API,所以我需要进行某种身份验证,我不知道如何正确地进行身份验证.

将有更多应用程序访问API.

首先想到的是 - 发送用户名和密码,但这并不能解决问题.因为如果有人反编译应用程序,他们将拥有请求URL和变量,包括用户/密码,或者只是它可以被嗅探.

所以...我有什么选择?

我相当肯定安全连接(SSL)目前不可用,但是,这对我反对反编译问题无效,是吗?


编辑

我最初没有说过,但不会要求用户输入用户名/密码.这是必须进行身份验证的应用程序,而不是应用程序的用户.

php security authentication api

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

JavaScript检测/浏览器统计

这已被问过几次,但我认为仍然值得与你们一起检查更多的输入.

我的所有网站都使用Google Analytics来统计数据.由于它依赖于JavaScript,因此我认为检查启用/禁用浏览器中实际启用了JS的人数非常重要.

我记得我经常检查w3schools的浏览器统计数据,最近的结果显示大约95%,这对我来说非常令人满意.但由于它纯粹适用于他们的网站,我想我会检查我的网站是什么.我尝试了几种方法,但最近我计算了所有页面视图和我的main.js文件的所有下载(缓存被"缓存杀手"变量添加到文件路径中).这种方法有一些缺点,因为它不能识别谷歌的机器人(或任何其他),但它仍然足够准确.

令人惊讶的是,只有68%的人访问我最大的网站启用了JS(其他方法 - 例如使用cookie - 我试过显示类似的数字).我很想知道我的方法是完全错误的,这就是为什么这个数字太低了.

由于我构建了不依赖JS工作的网站,从功能的角度来看仍然可以,但这也意味着我的网站有32%的条目被分析计算!这是一个巨大的缺点.

是否有其他网站(w3schools除外)分享他们的统计数据?或者我可以将我的数字与我的数字进行比较?也许甚至有些人可以分享你的?

现在我正在考虑创建自己的统计引擎.但是否有其他(比分析)可靠(和免费)的统计数据解决方案可以建议吗?一个实际上会检查人们是否启用了JS的人?

关于JS检测的任何建议也非常受欢迎.

javascript php browser browser-detection

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

php的代码指标 - Notepad ++

特别是,我有兴趣知道有多少行代码,但这跨越了许多文件.

我一直在使用notepad ++来编写代码,对于每个文件,它都显示行号,但当然我有空的返回以使代码更具可读性.

有没有人知道我能准确获得实际代码行的插件或工具?

metrics notepad++ code-metrics

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

关于从php发送电子邮件的意见

我正在准备一个网站,它会向注册用户发送电子邮件通知.根据我的经验,我知道,发送电子邮件对PHP来说是一个痛苦的过程,特别是当我们谈论成千上万时.我的一个网站不时发送电子邮件给1000-1500人.PHP需要大约5分钟来完成,所以我们在服务器负载最低的情况下一夜之间运行它.我正在使用mail()没有任何SMTP的本机功能.这在专用服务器上运行良好,但我不是这个解决方案的忠实粉丝.

我希望能够随时发送类似的金额,而不会让服务器崩溃(并将其列入黑名单).
我读过,理想的解决方案是每隔几分钟从Cron触发的脚本中批量发送电子邮件(比如20).在我看来,这似乎是一个非常合理的想法,但是...如果我无法访问Cron(并非所有托管服务提供商都可以访问它),并且网站不够流行,无法在页面上触发脚本加载?

我坚持使用我的服务器来进行邮件而不是任何外部解决方案.

PS.我找到了这样的解决方案:http://www.mywebcron.com/但是这有什么用的吗?


编辑

只是添加:

  • 我正在使用CodeIgniter,
  • 从我当前的服务器发送电子邮件的速率通常为每封电子邮件0.2秒.

php email cron codeigniter

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

简单的计时器,用于测量操作完成的秒数

我运行自己的脚本,每晚将数据库转储到文件中.
我想计算转储每个数据库所需的时间(以秒为单位),所以我试图编写一些函数来帮助我实现它,但是我遇到了问题.

我不是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)

bash freebsd

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

从父级JavaScript访问跨域IFrame DOM属性

已经有一些类似的问题,但它们倾向于涵盖从孩子到父母的关系.

另一方面,我希望能够获得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属性?

javascript iframe cross-domain

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

Web 服务器配置文件的版本控制

在我和网络架构师之间,我们管理着一堆 Web 服务器(FreeBSD)。他负责所有与服务器/网络相关的事情(IP、防火墙、用户/组等),而我负责所有与网络相关的事情(Apache、PHP、MySQL)。有时职责重叠。

有几次对配置文件进行了一些更改,这些更改或多或少地影响了服务器,我们无法弄清楚我们中的哪些人进行了更改以及原因。

我 - 作为一名 Web 开发人员 - 认为将文件置于版本控制之下是一个很好的做法(我们目前使用 Subversion),这样无论何时我们更改任何内容,我们都必须提交更改评论。它将解决想知道谁做了什么以及为什么做的所有问题。

我想到的特定配置文件是:

  • 防火墙配置
  • apache 配置(附加功能)
  • php 配置 (php.ini)
  • MySQL 配置 (my.conf)

我已经知道,基于这里提出的其他问题,服务器配置文件的想法版本控制是合理的。我唯一担心的是如何在 Web 服务器端正确执行此操作,因为文件位于不同的位置。将整个/usr/local/etc置于版本控制之下似乎毫无意义,因为它不仅包含配置文件。

我想知道是否不创建一个新文件夹,说/config哪个将受版本控制并包含我们需要的所有配置文件,然后用符号链接替换原始/config文件到文件夹中的文件。例如:

/usr/local/etc/apache22/httpd.conf -> /config/apache22/httpd.conf
Run Code Online (Sandbox Code Playgroud)

所以问题是:这是一个好主意,如果不是,什么是更好的解决方案?

php apache version-control freebsd

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