小编rg8*_*g88的帖子

关于nginx的Zend Framework

我一直在研究的基于Zend Framework的站点现在正在迁移到它的生产服务器.这个服务器原来是nginx(惊喜!).当然,该站点无法正常工作,因为它是在Apache上开发的,并且依赖于htaccess文件.

我的问题是......任何人都有这方面的经验吗?关于如何将htaccess文件转换为nginx.conf文件的任何想法?我正在研究这个,但希望有人已经有过这方面的经验.谢谢!

编辑:这是当前的htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L]
Run Code Online (Sandbox Code Playgroud)

php mod-rewrite zend-framework nginx

16
推荐指数
5
解决办法
3万
查看次数

GitHub - 非同步提交?

我对git存储库中的文件进行了一些更改.在我提交任何内容之前,我被要求提交其他人为我提供的其他文件(来自SVN存储库).我将这些文件放入我的项目文件夹中,从之前的所有已更改文件中选择它们并提交它们.现在我需要同步分支以使这些移动到Github但是当我尝试同步时,我得到"未提交的更改.请在同步之前提交您的更改".

我假设这是指我之前更改过的所有文件?但是,我不希望那些人如此承诺......他们还没准备好.我只想提交这个小的文件子集.在这种情况下,人们做了什么?我如何移动我所做的所有更改,我不想成为此提交的一部分,因为缺少更好的单词,并获得我想要更改为github存储库的部分?

我正在使用GitHub应用程序,但如果需要可以从命令行执行...只是不确定需要做什么.


以下是一些更清晰的屏幕截图:

在我更改的文件列表的底部是我要移动的提交:

在此输入图像描述

尝试将该提交转移到github我单击"同步"按钮并获取:

在此输入图像描述

解决办法是什么?如何将这些"未提交的更改"排除在外?显然我是git的新手,所以我不清楚正确的方法.谢谢.

git github

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

你什么时候需要使用后期静态绑定?

在阅读了后期静态绑定(LSB)的描述后,我非常清楚地看到了发生了什么.现在,哪种情况最有用或最需要?

php oop

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

加速大量的mysql更新和插入

我有一个应用程序需要更新大量条目上的大量数据.基本上它会进行7,000次插入和/或更新,但需要花费很长时间(比如差不多9分钟......平均每次查询大约0.08秒).基本上我正在寻找一般的加速来提出多个这样的请求(我不期待我的模糊例子的具体答案......这只是希望,有助于解释).

以下是分析请求的一些示例:

SELECT `habitable_planets`.* FROM `habitable_planets` WHERE (timestamp = '2010-10-15T07:30:00-07:00') AND (planet_id = '2010_Gl_581_c')

INSERT INTO `habitable_planets` (`planet_id`, `timestamp`, `weather_air_temp`, `weather_cell_temp`, `weather_irradiance`, `weather_wind_float`, `biolumin_to_date`, `biolumin_detected`, `craft_energy_usage`, `craft_energy_consumed_to_date`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

SELECT `habitable_planets`.* FROM `habitable_planets` WHERE (timestamp = '2010-10-15T07:45:00-07:00') AND (planet_id = '2010_Gl_581_c')

INSERT INTO `habitable_planets` (`planet_id`, `timestamp`, `weather_air_temp`, `weather_cell_temp`, `weather_irradiance`, `weather_wind_float`, `biolumin_to_date`, `biolumin_detected`, `craft_energy_usage`, `craft_energy_consumed_to_date`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Run Code Online (Sandbox Code Playgroud)

重复广告恶心(好吧,约7,000次).这是一个更新,它收集24小时内间隔生成的数据,然后每天对数据库进行一次大量更新.鉴于我所展示的有限位,你有什么建议加快这个过程吗?

例如......是否有意义,而不是为每个时间戳做一个选择,一次选择一个范围,然后在脚本中迭代它们?

模糊地说:

SELECT `habitable_planets`.* FROM …
Run Code Online (Sandbox Code Playgroud)

php mysql

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

Silex微框架和Twig:启用调试

我的问题:我如何允许debug在Silex中使用Twig模板?


我正在玩Silex微框架(一个利用Symfony的PHP框架).

当使用Twig模板系统时,我想输出一个特定的对象.通常情况下,我会var_dump($app);和Twig一起使用{% debug app %}.

我的问题是调试(并设置Silex自己的调试对trueTwig没有帮助)与Silex一起工作.开箱即用的调用debug将导致错误消息:

Twig_Error_Syntax: Unknown tag name "debug" in...
Run Code Online (Sandbox Code Playgroud)

调试调用如下所示:

{% debug app %}
Run Code Online (Sandbox Code Playgroud)

我找到了如何配置Twig的config.yml文件以正确使用的参考,debug但Silex不使用Twig的配置文件.

Silex确实说你可以通过传递一个关联数组来设置选项twig.options,而Twig文档说你可以传递一个环境选项,如:

$twig = new Twig_Environment($loader, array('debug' => true));
Run Code Online (Sandbox Code Playgroud)

试图在Silex中传递它:

$app->register(new Silex\Provider\TwigServiceProvider(), array(
    'twig.options' => array('debug' => true),
));
Run Code Online (Sandbox Code Playgroud)

不行.这是错误的选择吗?只是格式不正确?我不知道,我没有尝试过任何作品.

我感觉自己进入了"轮子旋转"模式,所以我在这里问这个问题,希望我能在今天早上继续进行更有成效的工作.:)

(呃......对于超特定的StackOverflow问题,这是怎么回事?)


解决方案:(所有这一切只是为了得到var_dump类似的功能......哦,我的):说实话,这对于屁股来说有点痛苦,而且Silex文档对于发现这一点并没有任何帮助,但这里是我所拥有的要做到这一点.

首先加载Twig自动加载器:

$app['autoloader']->registerPrefixes(array(
    'Twig_Extensions_'  => array(__DIR__.'/vendor/Twig-extensions/lib')));
Run Code Online (Sandbox Code Playgroud)

你为什么要这样注册?不知道.它是如何实际找到自动加载器的?不知道.但它的确有效.

注册提供程序并设置调试选项:

$app->register(new Silex\Provider\TwigServiceProvider(), array(
    'twig.path'         => __DIR__.'/views',
    'twig.class_path'   => __DIR__.'/vendor/Twig/lib',
    'twig.options'      => array('debug' => true), //<-- …
Run Code Online (Sandbox Code Playgroud)

php twig silex

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

打字稿错误:TS2604 - 如何修复?

我试图在基于Typescript的项目中使用名为redux-form的库.当我采用他们的"简单形式"示例代码并实现它时,我得到一个错误:

error TS2604: JSX element type 'SimpleForm' does not have any construct or call signatures.
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我安装了这个lib的定义文件,所以要么我编码错误,要么定义文件不正确.

在我的表单组件中(剥离代码向下以使其尽可能精简):

import * as React from 'react';
import {reduxForm} from 'redux-form';
export const fields = ['firstName'];

class SimpleForm extends React.Component<any, any> {

  static propTypes = {
    fields: React.PropTypes.object.isRequired,
  };

  render() {
    const {
      fields: {firstName}
      } = this.props;
    return (<form>
        <div>
          <label>First Name</label>
          <div>
            <input type="text" placeholder="First Name" {...firstName}/>
          </div>
        </div>

        <div>
          <button>
            Submit
          </button>
        </div>
      </form>
    );
  }
}

export default reduxForm({ …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs redux-form

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

对SimpleXML对象数组进行排序

我已经阅读了我在Stackoverflow上发现的内容并且仍然不清楚这一点.

我有一个SimpleXML对象数组,如下所示:

array(2) {
  [0]=>
  object(SimpleXMLElement)#2 (2) {
    ["name"]=>
    string(15) "Andrew"
    ["age"]=>
    string(2) "21"
  }
  [1]=>
  object(SimpleXMLElement)#3 (2) {
    ["name"]=>
    string(12) "Beth"
    ["age"]=>
    string(2) "56"
  }
}
Run Code Online (Sandbox Code Playgroud)

而且我希望能够按任何列排序,升序或降序.就像是:

sort($data, 'name', 'asc');
Run Code Online (Sandbox Code Playgroud)

我可以传递上面的对象数组,并按照我喜欢的任何键的值进行排序.

作为参考,类似的.NET解决方案将沿着这些方向:

XmlSortOrder order = XmlSortOrder.Ascending;
    if ( sortDirection == "asc" ) {
        order = XmlSortOrder.Ascending;
    }
    expression.AddSort( columnSortingOn + "/text()", order, 
        XmlCaseOrder.UpperFirst, "en-us", XmlDataType.Text ); 
Run Code Online (Sandbox Code Playgroud)

我见过有人说

"使用usort"

接下来是PHP手册中的一个基本示例,但这并没有真正解释它.至少不是我.我也看到人们建议使用像SimpleDOM这样的外部库,但我想避免使用外部的东西(貌似,虽然我还不能解决)小事.

任何帮助表示赞赏,谢谢!

php sorting simplexml

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

jQuery - 即使在动态生成的元素之后,在DOM中(在关闭正文之前)使元素成为最后一个元素

tl; dr:body即使是动态生成的元素被追加,我如何获得一个由单击处理程序可见的DOM元素作为关闭之前的最后一个元素?

基本上我想让打开元素的点击也在DOM中移动它,即使在附加了一些动态元素之后,它也会在身体关闭之前移动到最后.


我的问题源于在另一个模态中打开的模态,而在一个页面上有多个模态.一个问题是,子页面在页面加载时存在于DOM中,而主要模态正在被实例化(子模块使用不同的代码生成,而主模式使用jQuery UI对话框).

如果你打开一个模态,然后打开子模式一切都很好.如果打开第二个模态然后在重新打开第一个模态时将其关闭,则子模块将不会显示,因为它隐藏在第二个模态下方.如果我将这些子模型附加到正文中,从而将它们放在任何生成的模态之后它们看起来很好(但这会产生其他问题).尽管它看起来似乎不是一个z-index问题(我已经尝试了与之相关的一切而没有运气),但它似乎与这些模态在DOM中的位置有关.

代码可能更清晰:

这是页面加载时html的样子:

<div id='submodal_1' class='submodal'>foo</div>
<div id='submodal_2' class='submodal'>bar</div>
</body>
Run Code Online (Sandbox Code Playgroud)

单击以打开第一个主模式窗口后:

<div id='submodal_1'>subfoo</div>
<div id='submodal_2'>subbar</div>
<div id='primary_modal_1' class='ui-dialog' style='display:block'>foo</div>
</body>
Run Code Online (Sandbox Code Playgroud)

单击打开该模态的子模式后,我必须将子模式移动到主模态下面,否则它将不会出现(并且z-index不会影响此阻塞):

$('#submodal_1').insertAfter('#primary_modal_1');
Run Code Online (Sandbox Code Playgroud)

此时,如果你关闭#primary_modal_1它,它将被隐藏但仍然存在于DOM中.如果你打开一秒,代码现在看起来像:

<div id='submodal_2' class='submodal'>subbar</div>
<div id='primary_modal_1' class='ui-dialog' style='display:none'>foo</div>
<div id='submodal_1' class='submodal'>subfoo</div>
<div id='primary_modal_2' class='ui-dialog' style='display:block'>bar</div>
</body>
Run Code Online (Sandbox Code Playgroud)

此时,如果您重新打开第一个主模态并尝试打开其子模式,则不会出现子模式.但是,如果您将子模式移动到最后一个主模态下方,如下所示:

<div id='submodal_2' class='submodal'>subbar</div>
<div id='primary_modal_1' class='ui-dialog' style='display:block'>foo</div>
<div id='primary_modal_2' class='ui-dialog' style='display:none'>bar</div>
<div id='submodal_1' class='submodal'>subfoo</div> //<-- moved this line
</body>
Run Code Online (Sandbox Code Playgroud)

子模式将正确地发挥作用.无论附加多少个主要模态,我都希望确保子模块始终位于DOM的最后.

javascript jquery dom modal-dialog

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

如何修复:错误:ENOENT:没有这样的文件或目录“ src / node_modules / native-base / Fonts”

我正在跟踪一个使用expo的教程,该字体需要用于本机代码的字体,但是我没有使用expo,因此不需要这些字体。我删除了使用它们的代码(不会影响应用程序其他部分的代码),现在它给了我这个可怕的错误,它说它位于我的源文件夹“ src / navigation / node_modules / native-base / Fonts”中”,则节点模块甚至都没有位于src上。

请记住,我是新来的本地人,我们将不胜感激。

终端输出:

捆绑失败:错误:ENOENT:没有这样的文件或目录,scandir'/ Users / relativeivity / Documents / ReactNative-Projects / test / src / navigation / node_modules / native-base / Fonts'

reactjs react-native

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

会话变量未设置,但仅在Internet Explorer中设置,而不是在所有计算机上设置

登录到我正在处理本地计算机上预期功能的站点但在远程服务器上失败但仅在Internet Explorer中失败.踢球者是它在本地IE中工作,而不是在远程机器上.

世界上有什么可能导致这种情况?我已经逐步完成了远程计算机上的代码,可以看到在数据库中检查输入的登录值,找到它们然后调用登录函数.这将设置两个$ _SESSION变量并重定向到主管理页面.但是,仅在IE中(而不是在本地计算机上运行时...这是关键)当到达主管理页面时,$ _SESSION变量不存在.var_dump($_SESSION)当我在我的本地环境中以及除了IE 6,7和8之外的每个浏览器中运行时,在远程服务器上运行时,我得到了我对每个浏览器的期望(我得到一个空值,好像没有为$ _SESSION设置任何内容) ).

这真让我难过,所以任何建议都值得赞赏.

例如......在IE中,在本地运行,var_dump给了我:

array
'Username' => string 'theusername' length=11
'UserID'   => string 'somevalue' length=9
Run Code Online (Sandbox Code Playgroud)

在远程服务器上运行(仅限IE ...在其他浏览器中正常工作)var_dump给了我:

array(0){}
Run Code Online (Sandbox Code Playgroud)

代码(一个最小的例子......虽然这个问题不需要代码示例):

$User = GetUser($Username, $Password);
    if ($User->UserID <> "") { // this works so we call Login()...
        Login($User); // this also works and gives expected results. on to redirect...
        header("Location: index.php"); // a var_dump at index.php shows that there is no session data at all in IE, remotely.
    } else {
        header("Location: login.php");
    } …
Run Code Online (Sandbox Code Playgroud)

php session internet-explorer

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