我正常的PHP开发平台是Linux.我的网站使用红帽服务器,我公司使用红帽和Fedora进行制作,我家里有Ubuntu.我不能幸福.不幸的是,我现在需要花费大量时间在Windows中使用WAMP在PHP中工作.
我说这很不幸,因为我不断发现Linux支持Windows不支持的东西.去年,当我们意识到WAMP使用早期版本的PHP(这已经通过5.3到Windows的端口修复)时,它实际上推迟了一个项目.今天,我刚刚了解到checkdnsrr没有移植到Windows,整个pcntl库都不可用.
所以,我的问题是:有没有告诉我Windows和Linux之间关于PHP的当前差异?
我不是在寻找特性,例如在这里的评论中找到的特性(虽然这些很好),而是在Windows下可用的哪些功能不可用.
-----------------------编辑-------------------------
有两条评论/评论说checkdnsrr在Windows下存在于5.3中.从技术上讲,这是正确的.PHP不会说该函数不存在.我不知道所有安装是否都是这种情况,或者仅仅是WAMP,但是可能会说它可以正常工作,该功能不像在Linux中那样工作.
---------------------更新----------------------
看起来这个问题没有一个好的答案,但我找到了一个解决方法,这要归功于以下建议之一:
将其放在生产环境中.请记住,对此有一些形式的安全保障.
<?php print_r( get_defined_functions() ); ?>
Run Code Online (Sandbox Code Playgroud)
然后在开发环境中运行它.它将输出所有本地环境独有的功能.
$root = file_get_contents( "<path to server>/available.php" );
$root = preg_replace( "/\[[0-9]{1,4}\]\s=>\s/", ( '' ), $root );
$tmp = '"internal" => array';
$root = explode( "\n", substr( $root, strpos( $root, $tmp ) + strlen( $tmp ) + 1 ) );
array_shift( $root );
array_shift( $root );
$internal = get_defined_functions();
$internal = $internal[ "internal" ];
function trim_array( array …Run Code Online (Sandbox Code Playgroud) 我试图根据一些数学逻辑设置一个变量(围绕元素包装特定的html).
我解决了问题的一半,达到了0,3,6,9,12
if(($i % 3) == 0) { // blah }
Run Code Online (Sandbox Code Playgroud)
现在我需要点击以下数字,2,5,8,11,14等
我可以做什么样的数学运算来达到这个顺序?
以下最佳和最简单的技术是什么?
瓷砖,速度还是自由制造者?
谢谢.
使用Visual Studio 2008工具,
我正在尝试获得更改集14318和14317的ASCII差异.
我可以使用GUI这样做:
tf changeset 14318
Run Code Online (Sandbox Code Playgroud)
然后选择一个文件并右键单击并选择与先前版本进行比较.但是,这有点单调乏味,它基于GUI.我的任务是将许多更改反向移植到不同的分支中.我想自动化测试(比如使用Python),确保我做得正确.好吧,出于教育目的,我将手工完成所有更改而不查看解决方案,然后我将比较这两个更改并尝试寻找任何差异.这是我喜欢的tf - 我可以输入:
tf changeset 14318 > out.txt&¬epad out.txt
Run Code Online (Sandbox Code Playgroud)
查看受影响的文件的详细信息.
同样,我希望得到一个out.txt,其中保存了所有差异.我很确定我可以处理Python部分.我肯定想知道如何使用tf.exe工具来做到这一点,但如果你也碰巧知道其他技巧(一些很酷的第三方工具或PowerShell脚本,那么请让我知道).
谢谢!
哦,顺便说一句,我查了一下:http://msdn.microsoft.com/en-us/library/6fd7dc73(VS.80).aspx
我试过这个:
tf diff 14318 14317
Run Code Online (Sandbox Code Playgroud)
我收到此错误:文件(或文件夹)c:\ Program Files(x86)\ Microsoft Visual Studio 9.0\VC\14318不存在.
谢谢你.
编辑:有没有任何工具可以做到这一点?
可能重复:
"else if"比"switch()case"快吗?
Java中if/else与switch的相对性能是什么?
我已经在运行中进行编码....当调试器逐步执行case语句时,它会立即跳转到与条件匹配的项,但是当使用if/else指定相同的逻辑时,它会逐步执行每个if语句直到它找到胜利者.case语句是否更有效,或者我的调试器只是优化了一步?(不要担心语法/错误,我在SO中键入它,不知道它是否会编译,它的原理我之后,我不想做它们作为int因为我依稀记得一些关于使用带有整数的偏移的情况)我使用C#,但我对编程语言的一般答案感兴趣.
switch(myObject.GetType()){
case typeof(Car):
//do something
break;
case typeof(Bike):
//do something
break;
case typeof(Unicycle):
//do something
break;
case default:
break;
}
Run Code Online (Sandbox Code Playgroud)
VS
Type myType = myObject.GetType();
if (myType == typeof(Car)){
//do something
}
else if (myType == typeof(Bike)){
//do something
}
else if (myType == typeof(Unicycle)){
//do something
}
else{
}
Run Code Online (Sandbox Code Playgroud) 如果出现错误情况,如何编写允许我在代码中执行不同路径的R代码?我正在使用一个往往会抛出错误的函数.当它遇到错误条件时,我想执行一个不同的功能.这是一个具体的例子:
require(SuppDists)
parms <- structure(list(gamma = -0.841109044800762, delta = 0.768672140584442,
xi = -0.359199299528801, lambda = 0.522761187947026, type = "SB"), .Names = c("gamma",
"delta", "xi", "lambda", "type"))
pJohnson(.18, parms)
Run Code Online (Sandbox Code Playgroud)
pJohnson函数应该失败并出现以下错误:
Error in pJohnson(0.18, parms) :
Sb values out of range.
Run Code Online (Sandbox Code Playgroud)
我可以使用以下命令使错误变为静默:
try( pJohnson(.18, parms), silent=T)
Run Code Online (Sandbox Code Playgroud)
但我真正想要做的是执行的功能alternativeFunction(),如果pJohnson(.18, parms)返回错误.
似乎该withCallingHandlers()函数应该帮助我,但我无法弄清楚如何捕获错误并使其alternativeFunction()在错误条件下运行.
我有一个控制器只接受此URL上的POST:
POST http://server/stores/123/products
Run Code Online (Sandbox Code Playgroud)
POST应该是content-type application/json,所以这就是我在路由表中的内容:
routes.MapRoute(null,
"stores/{storeId}/products",
new { controller = "Store", action = "Save" },
new {
httpMethod = new HttpMethodConstraint("POST"),
json = new JsonConstraint()
}
);
Run Code Online (Sandbox Code Playgroud)
在哪里JsonConstraint:
public class JsonConstraint : IRouteConstraint
{
public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
{
return httpContext.Request.ContentType == "application/json";
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用这条路线时,我得到了一个405 Forbidden:
The HTTP verb POST used to access path '/stores/123/products' is not allowed
但是,如果我删除json = new JsonConstraint()约束,它工作正常.有人知道我做错了什么吗?
嘿伙计们,我是一个Powershell noob,似乎不断陷入这样的奇怪行为.这是一些测试代码:
function EchoReturnTest(){
echo "afdsfadsf"
return "blah"
}
$variable = EchoReturnTest
echo ("var: " + $variable)
Run Code Online (Sandbox Code Playgroud)
运行此脚本会将其生成为输出:"var:afdsfadsf blah"
为什么函数不仅仅返回字符串"blah"?
我最近偶然发现了这篇维基百科文章.根据我的多线程经验,我知道程序能够随时在线程之间切换线程所引起的众多问题.但是,我从来不知道编译器和硬件优化可以以保证适用于单个线程的方式重新排序操作,但不一定用于多线程.谁能解释如何正确处理多线程环境中重新排序操作的可能性?
我正在研究Qt应用程序,我遇到了将鼠标事件发送到我需要的问题.
这里是我所拥有的高级视图(每个级别还有其他事情需要视图和场景):
+----------------
| App Window -- QMainWindow
| +--------------
| | View -- QGraphicsView --- Grabbing mouse events here for Mode 1
| | +------------
| | | Scene -- QGraphicsScene
| | | +----------
| | | | Image -- QGraphicsPixmap --- Want to grab mouse events here for Mode 2
| | | |
Run Code Online (Sandbox Code Playgroud)
在模式1中,我在View级别抓取事件mousePressEvent.在模式2中,我想在图像级别抓取鼠标事件.在我在View类中重载mousePressEvent之前,我能够获取Image中的所有事件.现在我正在View中捕获我无法在Image中获取鼠标事件. 图像在Scene中是私有的,我不想公开它.
这里没有继承权; 每个项目都是由其上方的对象创建的对象.
阅读这个问题Qt - 将事件传递给多个对象? …
php ×2
asp.net-mvc ×1
diff ×1
echo ×1
events ×1
function ×1
if-statement ×1
java ×1
jsp ×1
math ×1
performance ×1
powershell ×1
qt ×1
r ×1
routing ×1
spring-mvc ×1
string ×1
tf-cli ×1
tfs ×1
windows ×1