嗨,我正在寻找一个Perl RESTful框架,必须:
我只是在做梦,还是可以避免"滚动自己"的做法?
你会推荐什么样的框架?
我正在使用通配符子域来管理我的大部分请求,但是我遇到了一个问题,即首先加载我的子域名(例如,wiki.domain.com).
我知道在httpd.conf或其他内容中加载这个只是假设VirtualHosts首先加载,但我使用a2ensite和sites-available来管理我的域(每个域的单个文件),据我所知,意味着我没有真正的方法来确定哪些域首先被"加载".
我正在运行Ubuntu Hardy.
显然,我的.htaccess重写会占用$_GET我页面上的所有变量:
当访问URL http://192.168.1.1/welcome/test?getvar=true并var_dump($_GET)在我的index.php文件中运行时,我得到了这个输出:
array
'/welcome/test' => string '' (length=0)
Run Code Online (Sandbox Code Playgroud)
所以没有 - $_GET数据可用,并且没有getvar来自我的URL 的变量的迹象.
这是我的.htaccess:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
Run Code Online (Sandbox Code Playgroud)
我应该更改什么以确保我的重写按预期工作但$_GET变量仍可访问?
在烧瓶中,我使用以下代码段来启用HTTP身份验证:
def authenticate():
return Response('<Why access is denied string goes here...>', 401, {'WWW-Authenticate':'Basic realm="Login Required"'})
Run Code Online (Sandbox Code Playgroud)
现在,根据我过去使用Flask的经验,如果某人的凭据不正确,我想让他们知道我可以打电话:
abort(401)
Run Code Online (Sandbox Code Playgroud)
这为您提供了基本的apache 401响应.有谁知道我如何使用上面的代码段实现它?
谢谢
我正在尝试将子域添加到我的家庭服务器.
svn.domain.com trac.domain.com
由于动态IP我使用dyndns服务,最重要的是我有domain.com托管在其他地方.我为远程主机上的子域创建了CNAME,指向我的user.dyndns.org域.
所以现在当我访问子域名:trac或svn时,我看到"它有效!" 信息.
完成后,我在/ etc/apache2/sites-enabled下创建了两个虚拟主机文件
file1:svn.domain.com和file2:trac.domain.com
内容:
<VirtualHost *:80>
ServerName trac.domain.com
DocumentRoot = /var/www/trac/repos
<Directory /var/www/trac/repos>
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
和
<VirtualHost *:80>
ServerName svn.domain.com
DocumentRoot = /var/svn/repos
<Directory /var/svn/repos>
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
但是我收到错误:错误:站点trac.domain.com不存在!
我究竟做错了什么?
我想通过以下软件配置进行远程调试:
Win 7 Pro 64位WAMP Server 2.2(32位)包括.Apache 2.2.22,PHP 5.4.3,XDebug php_xdebug-2.2.1-5.4-vc9.dll JetBrains PHPStorm 4.0.3
1.)WAMP启动并运行,我的站点可以在localhost/fox /下找到
2.)PHP Storm有一个项目,我的源文件和apache别名localhost/fox之间有一个映射
2.)我安装了php扩展XDebug并将以下行添加到我的php.ini中
[xdebug]
zend_extension="c:/wamp/bin/php/php5.4.3/zend_ext/php_xdebug-2.2.1-5.4-vc9.dll"
xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_connect_back=On
xdebug.remote_autostart=On
xdebug.profiler_enable=On
xdebug.profiler_enable_trigger=off
xdebug.profiler_output_name=cachegrind.out.%t.%p
xdebug.profiler_output_dir="c:/wamp/tmp"
xdebug.remote_log="C:/wamp/tmp/xdebug.log"
xdebug.remote_cookie_expire_time=6000
Run Code Online (Sandbox Code Playgroud)
这应该配置远程调试XDebug和回调地址.
我在这里检查了我的安装:xdebug.org/wizard.php
3.)我配置了phpstorm,首先我添加了本地服务器
然后在这里检查我的设置
http://www.bilder-hochladen.net/files/jrn0-2-c81e-jpg-nb.html
(我也试过127.0.0.1/fox作为服务器地址,而不是localhost)
我的调试设置:http: //www.bilder-hochladen.net/files/jrn0-1-c4ca-jpg.html
现在我重启我的apache,我进入phpstorm,设置一个断点(它是红色的),点击该功能
Run -> Start listen to PHP Debug Connections
Run Code Online (Sandbox Code Playgroud)
电话接收器正在变成绿色,这究竟是什么意思,但它对我来说是一个正面的信号.
当我现在在本地webserver absolutley上运行我的php脚本没有任何反应时,程序运行在断点上并且不会停止.
在Xdebuggers日志(C:/wamp/tmp/xdebug.log)中,我发现这些消息的负载如下:
I: Checking remote connect back address.
I: Remote address found, connecting to ::1:9000.
E: Could not connect to client. :-(
Log closed at 2012-07-19 14:21:08
Run Code Online (Sandbox Code Playgroud)
在互联网的某个地方,我发现了暗示,Windows防火墙可以阻止通信,所以我把它关闭了完整但但没有帮助. …
在问这个问题之前,我在这里,这里,这里,这里和这里检查过.我想我的搜索能力很弱.
我使用的是WampServer版本2.2e.我有需要,我需要一个虚拟主机内的虚拟路径.让我说一下我拥有的两位主持人.
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
DocumentRoot "C:/Wamp/www"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
<VirtualHost *:80>
ServerName apps.ptrl
DocumentRoot "C:/Wamp/vhosts/ptrl/apps"
ErrorLog "logs/apps-ptrl-error.log"
CustomLog "logs/apps-ptrl-access.log" common
<Directory "C:/Wamp/vhosts/ptrl/apps">
allow from all
order allow,deny
AllowOverride All
</Directory>
DirectoryIndex index.html index.htm index.php
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
<VirtualHost *:80>
ServerName blog.praveen-kumar.ptrl
DocumentRoot "C:/Wamp/vhosts/ptrl/praveen-kumar/blog"
ErrorLog "logs/praveen-kumar-ptrl-error.log"
CustomLog "logs/praveen-kumar-ptrl-access.log" common
<Directory "C:/Wamp/vhosts/ptrl/praveen-kumar/blog">
allow from all
order allow,deny
AllowOverride All
</Directory>
DirectoryIndex index.html index.htm index.php
</VirtualHost> …Run Code Online (Sandbox Code Playgroud) 这可能是一个愚蠢的问题,但究竟什么是"非阻塞Web服务器"?所有的Web服务器在技术上都是非阻塞的,不是吗?否则他们怎么能处理同时连接?Apache2使用fork()和pthreads的组合实现了这一点.龙卷风(和Twisted)究竟有何不同?他们只是将一堆套接字设置为非bocking模式,构建FD列表(或等效的),然后使用一个大的select()sys调用来循环它吗?
你会在哪里使用这样的框架,以及它们可以通过Apache2(或其他流行的服务器)给你带来什么好处?谢谢
我在EC2上有文件结构,如:但面临一些文件引用问题.
index.php
-db
-config.php
-cron
-cron1.php
Run Code Online (Sandbox Code Playgroud)
我尝试过文件引用:
`require_once (dirname(__FILE__).'/db/config.php');`
`require_once (($_SERVER['DOCUMENT_ROOT']).'/db/config.php');`
Run Code Online (Sandbox Code Playgroud)
但是cron没有run.it在邮件中给出错误
`PHP Warning: require_once(/db/config.php): failed to open stream: No such file or directory in /var/www/html/cron/cron1.php on line 3
Warning: require_once(/db/config.php): failed to open stream: No such file or directory in /var/www/html/cron/cron1.php on line 3
PHP Fatal error: require_once(): Failed opening required '/db/config.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/cron/cron1.php on line 3
Fatal error: require_once(): Failed opening required '/db/config.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/cron/cron1.php on line 3`
Run Code Online (Sandbox Code Playgroud) 我很难将angulars服务工作者整合到我的应用程序中.我按照指南进行操作至今.我可以在主屏幕上创建一个快捷方式并启动到我的应用程序中.问题是我的应用程序不知何故不更新.如果我改变一个按钮的名称,构建应用程序,并把它放到我的服务器应用程序仍显示旧版本,直到我打了F5(重新启动应用程序并没有帮助).
我试着将以下代码放入我的应用程序的ngOnInot中,但它没有帮助
ngOnInit() {
if (this._SwUpdate.isEnabled) {
setInterval( () => {
this._SwUpdate.checkForUpdate().then(() => console.log('checking for updates'));
}, this.updateInterval);
this._SwUpdate.available.subscribe(() => {
console.log('update found');
this._SwUpdate.activateUpdate().then(() => {
console.log('updated');
window.location.reload();
});
});
}
Run Code Online (Sandbox Code Playgroud)
}
该应用程序正在我的apache2 linux机器上运行.我的apache缓存了什么,或者为什么我的应用程序没有意识到有新版本?
在此先感谢您的帮助 :)
编辑:
我的ngsw-config.json
{
"index": "/index.html",
"assetGroups": [{
"name": "roomPlan",
"installMode": "prefetch",
"resources": {
"files": [
"/index.html",
"/*.css",
"/*.js"
]
}
}, {
"name": "assets",
"installMode": "lazy",
"updateMode": "prefetch",
"resources": {
"files": [
"/assets/**"
]
}
}]
}
Run Code Online (Sandbox Code Playgroud)
编辑2:
如果我使用"http-server"在本地运行应用程序,但是当我将文件复制到我的apache时,它不会检测到更新.在网络选项卡中,我可以看到间隔工作,应用程序每隔3秒从服务器获取一个新的"ngsw.json".如果我更新我的应用程序,我可以看到"ngsw.json"的响应中有新的哈希值.之后,浏览器从我的服务器加载新的"index.html"和"main.***.js",但应用程序不应用新版本.根据我的代码,它应该说"发现更新",但没有任何反应.