我们正在考虑尽快使用CI服务器.
从我的阅读中,我发现Sismo和Hudson可用于PHP项目.
考虑到我们实际上正在使用GIT和PHPUnit,我们应该知道Hudson和Sismo之间的最大区别是什么才能为我们的情况做出最佳选择?
谢谢
我有2个域名:
maindomain.comparkeddomain.com在拥有parkeddomain.com域名之前,我的意思.htaccess是:
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
Run Code Online (Sandbox Code Playgroud)
现在我有了新域名,我想在子文件夹中重定向访问:/park/
所以基本上,如果以下URI显示完全相同的页面:
http://www.maindomain.com/park/http://www.parkeddomain.com/我制定.htaccess规则的尝试是:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?parkeddomain.com$
RewriteRule ^(.*)$ /park/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
Run Code Online (Sandbox Code Playgroud)
但由于一个奇怪的原因,[L]公园的条款RewriteRule生成一个内部500 error,我没有访问日志文件:(
有解决方案吗 谢谢 :)
我正在使用PHPUnit开始一个TDD项目,这真的让我很烦恼.
只要不实现所有类和方法,似乎所有测试都无法运行.如果尚未实现类或方法,如何进行测试继续事件?
谢谢.
编辑:"在编写测试时,测试套件是否失败,这不是TDD的重点吗?" 是的,当然,但我希望全球范围内看到这个项目.假设我们已经编写了1000个测试,并且第一个运行会产生致命的错误.但是,当我们来实现代码时,我们并不幸运,那部分将是最后实现的部分之一.我不想开发"盲目",只有当所有致命错误都被清除时才能运行我的测试套件.
所以,是的,他们的失败测试与整个测试过程之间的巨大差异因为在这种状态下正常的致命错误而停止/死亡.
作为一个工作环节,我们在开始编写测试之前创建了类骨架.
这是对常见问题的新看法。
所以我有一个 Plesk 托管,在通配符域上有 SSL。我有一个 WordPress 主题,它使用 Font-Awesome 图标,托管在同一服务器上。我已将以下几行添加到我的 /httpdocs/.htaccess 文件的最顶部:
<IfModule mod_headers.c>
<FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|font.css|css)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
Run Code Online (Sandbox Code Playgroud)
我使用 Polylang 翻译插件,该插件设置为使用不同语言的子域:
当我访问 example.com 时,一切正常。当我访问 fr.example.com 时,控制台中出现很多以下错误:
Access to font at 'https://example.com/wp-content/plugins/elementor/assets/lib/font-awesome/webfonts/fa-brands-400.woff2' from origin 'https://fr.example.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Run Code Online (Sandbox Code Playgroud)
我希望通过将标题设置行添加到我的 .htaccess 中来消除错误,但它似乎根本没有帮助。根据 Plesk 的说法,我确实激活了标头模块。
我确实使用 NGINX 作为 Apache 的代理,所有这些都具有默认配置。我确实尝试添加以下几行,以防万一,但所有 3 次尝试都会导致错误 500:
#NGINX < 1.4
if ($filename ~* ^.*?\.(eot)|(ttf)|(woff)$){
add_header Access-Control-Allow-Origin *;
}
# NGINX …Run Code Online (Sandbox Code Playgroud) 我在Mac OSX上,我无法找到解析PHP代码并提取可翻译字符串的好解决方案.
我已经尝试过PoEdit,但是它失败了,并且出现了反详细的仲裁错误:

我也尝试过Virtaal,但是当浏览窗口出现之前点击"打开"事件时应用程序崩溃了.
我尝试过OmegaT,但我认为它不支持.po文件.我无法弄清楚它是如何工作的:(
我也试过xgettext.pl,它工作得很好,除了它没有检测到PHP dgettext()函数,并且似乎没有提供任何额外的选项来配置像poEdit那样的额外关键字.手册页在这里:http://www.unix.com/man-page/OSX/1/xgettext.pl/
到目前为止有解决方法
我开始使用XSLT了,我不明白这一行:
<xsl:apply-templates select="file:file/file:description" />
Run Code Online (Sandbox Code Playgroud)
为什么有3 file秒?我知道我在XML文件中的一个标签名为"file",但为什么要为"file:"添加前缀?
这是实际的代码:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:file="http://phpdox.de/xml#"
exclude-result-prefixes="#default file"
>
<xsl:output method="html" indent="yes" encoding="utf-8" />
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates select="file:file/file:description" />
</body>
</html>
<xsl:template match="file:description">
<header>
<p><xsl:value-of select="@compact" /></p>
<p><xsl:value-of select="file:description" /></p>
</header>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
和源XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<file xmlns="http://phpdox.de/xml#">
<class>
<docblock>
<description compact="foo bar"/>
[...]
Run Code Online (Sandbox Code Playgroud) /var/log/apache2/error.log中没有错误.我使用composer安装了laravel.
"msg"是我的应用程序名称.当我访问localhost/msg /时,我可以看到以下列表:
[ ] CONTRIBUTING.md 2014-01-18 18:14 145
[DIR] app/ 2014-01-18 18:14 -
[ ] artisan 2014-01-18 18:14 2.4K
[DIR] bootstrap/ 2014-01-18 18:14 -
[ ] composer.json 2014-01-18 18:14 697
[ ] composer.lock 2014-01-23 10:06 53K
[ ] phpunit.xml 2014-01-18 18:14 566
[DIR] public/ 2014-01-18 18:14 -
[ ] readme.md 2014-01-18 18:14 1.8K
[ ] server.php 2014-01-18 18:14 519
[DIR] vendor/ 2014-01-23 10:06 -
Run Code Online (Sandbox Code Playgroud)
当我访问localhost/msg/public /时,我得到一个空白页面(没有源代码).在apache日志中仍然没有恐怖.
除了通过composer的安装程序之外,我所做的只是msg文件夹中的git init.
任何的想法 ?我真的很困惑,没有任何错误.