我已经在我的网站上启用php7.1,如下所示,但似乎没有PHP网页加载在我的网站上,他们只是所有的默认代码。 我曾尝试启用php5.6和禁用7.1,但不会改变任何东西。 我很困惑,为什么它不工作。 我在apache2.4和Ubuntu 16.04上 这是我在我的apache error.log文件中看到的 [Fri Feb 10 11:14:46.817334 2017] [mpm_prefork:notice] [pid 3144] AH00169: caught SIGTERM, shutting down [Fri Feb 10 11:14:47.725712 2017] [mpm_prefork:notice] [pid 3464] AH00163: Apache/2.4.18 (Ubuntu) PHP/7.1.1-1+deb.sury.org~xenial+1 configured — resuming normal operations [Fri Feb 10 11:14:47.725854 2017] [core:notice] [pid 3464] AH00094: Command line: '/usr/sbin/apache2' 而当我跑步 apache2 -e debug 我明白了 [Fri […]
出于某种原因,我的phpldapadmin不想与我的网站工作,它说:“如果你在你的浏览器中看到这一点,PHP没有安装在您的Web服务器上! 这是不正确的,就好像info.php文件被导航到喜欢这里说,PHP是随着ldap扩展启用。 Apache的错误日志虽然没有说错误。 除了phpldapadmin之外,我网站上的其他每个php页面都可以工作。 我真的很困惑。 这是我运行php -v时得到的 PHP 7.1.1-1+deb.sury.org~xenial+1 (cli) (built: Jan 20 2017 09:20:20) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies with Zend OPcache v7.1.1-1+deb.sury.org~xenial+1, Copyright (c) 1999-2017, by Zend Technologies with Xdebug v2.5.0, Copyright (c) 2002-2016, by Derick Rethans
背景 根据上传安全性最佳实践文章的build议,在我的htaccess文件中有以下代码片段: ForceType application/octet-stream <FilesMatch "(?i).jpe?g$"> ForceType image/jpeg </FilesMatch> <FilesMatch "(?i).gif$"> ForceType image/gif </FilesMatch> <FilesMatch "(?i).png$"> ForceType image/png </FilesMatch> <FilesMatch "(?i).css$"> ForceType text/css </FilesMatch> 这应该是防止人们隐藏图像等内的PHP代码,虽然恐怕我无法find这个片段的源代码,尽pipesearch我的历史,这是不久前 问题 这在我的本地开发服务器(XAMPP)上按预期工作,但现在我已经开始在生产服务器上进行设置,这段代码似乎迫使PHP文件被下载而不是执行 由于系统使用htaccess通过public / index.php路由所有文件,为.php添加一个新的指令没有奏效: <FilesMatch "(?i).php$"> ForceType application/x-httpd-php </FilesMatch> 我似乎想出了一种方法来阻止这种情况的发生 – 我正在寻找一种方法来防止文件匹配治疗php作为一个八位字节stream (并因此下载)或防止代码作为图像伪装的替代方法赛跑 提前致谢
当通过mod_wsgi提供Django应用程序时,我注意到了一个奇怪的错误。 在我的文档根目录中,我使用LocationMatch指令将/admin目录限制为127.0.0.1。 我也有/admin URLConf挂载/在Django应用程序,这是Django的自动生成的pipe理界面的标准path。 该应用程序本身位于/apppath下,使用WSGIScriptAlias指令进行configuration。 现在,Apache以某种方式将每个请求处理为/app/admin并将其子path定向为应用程序和文档根目录。 我得到Django的pipe理显示,但是error.log包含这样一行: [Tue Feb 14 01:25:35.538501 2017] [authz_core:error] [pid 29235] [client 32.135.203.150:36412] AH01630: client denied by server configuration: /var/www/html/admin/ 除了两件事之外,这几乎不是问题: 我不得不closuresfail2ban, 我不能在pipe理员上传文件,我怀疑这是为什么,因为这个错误出现在我每次尝试(接收500作为响应)。 这是通过重命名我的html目录或Django的pipe理应用程序来解决的,但我真的很想find正确的解决scheme,让我有两个。 Debian中的Apacheconfiguration被分割成多个文件,但我相信相关的部分如下: <VirtualHost *:80> ServerAdmin webmaster@localhost SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Include conf-available/default.conf DocumentRoot /var/www/html <LocationMatch ^/admin> Require ip 127.0.0.1 ::1 […]
我编译了一个新的Apache安装。 我把它编译成新的openssl。 我在de error.log中得到以下警告。 [Tue Feb 14 23:42:36.039364 2017] [ssl:warn] [pid 23881:tid 140513492883200] AH01882:Init:这个版本的mod_ssl是针对一个更新的库编译的(OpenSSL 1.0.2k 2017年1月26日, OpenSSL 1.0.2g 2016年3月1日) – 可能导致未定义或错误的行为 我的openssl存放在/ usr / bin / openssl中$ openssl version OpenSSL 1.0.2k 2017年1月26日 那么从哪里得到它的OpenSSL 1.0.2g的Apache? 我如何指定它需要编译的OpenSSL 1.0.2k的Apache? 感谢您的支持。
我一直在windows系统下运行一个小型的数据库(MySQL)和一个自制的“CMS”,我被要求把它迁移到合法的服务器(MS SQL Server)和更好的CMS。 我在Drupal 8中开发了针对MySQL数据库的开发CMS工作。 现在我开始在SQL Server上安装一切,速度非常慢。 我运行的是Apache2.4和PHP7.1,但运行的是PHP7的线程安全版本。 我应该使用非线程安全的版本吗? “Drupal on Windows”指南为realpath和opcachebuild议了一些设置: opcache.enable=1 opcache.enable_cli=1 opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1 realpath_cache_size=5M realpath_cache_ttl=1800 我遵循的一条指令是安装wincache。 但是,wincache只适用于非线程安全的PHP。 我设法通过注释掉两行代码来调用wincache函数,而Drupal的确安装了,但相当慢。 缺lesswincache会成为我的性能问题的根源吗? 我下载了非线程安全的PHP7,Apache的mod_fcgid和wincache。 我有一切运行,但仍然缓慢。 有没有一种理想的方式来连接Apache与SQL Server? 当我说慢,我的意思是一个Drupal模块安装每秒插入一个logging。 我的MySQL安装程序在几秒钟内完成了4000条logging。 它将事件死亡与错误: [fcgid:warn] [pid 2668:tid 940](OS 109)pipe道已结束。 :[client :: 1:56937] mod_fcgid:得到重叠结果错误, Mysql服务器与Apache服务器位于同一台笔记本电脑上,而此SQL Server服务器距离一半。
$_SERVER['HTTP_HOST']variables将在本地和部署的环境中返回正确的主机名。 但是在客户端环境中,这个variables正在提取一些不同的主机名。 我非常确定这不是一个PHP的问题。 但是,任何人都可以给我一些指针,我缺less处理这种情况下,http主机是不同于实际的url? 有没有问题的Apacheconfiguration? 注意:我没有访问该特定的服务器。
我们如何使用ModSecurity规则中的“msg”值添加自定义标题,以便触发所有规则? 我基本上是基于Apache的响应,在边缘点(Varnish)跟踪ModSec块的原因。 例如,我想: SecRule REQUEST_URI "/modsectest" "log,deny,status:406,phase:1,t:none,id:9084310,msg:'ModSec Log Test'" 在这种情况下,添加一个'X-ModSec-Block'响应头,其值为'ModSec Log Test' 。 我知道这可能更适合setenv + mod_headers由于块在不同的阶段完成,并发现Modsecurity:从SecRule创build一个新的请求头,这似乎与这种情况相似,只是它不是我的工作。 任何帮助是极大的赞赏!
我在我的apache2服务器上运行Gitlab和OpenProject都运行良好,但一旦启动Gitlab,OpenProject将响应一个错误,找不到目录。 我认为这可能与我的重写规则在gitlab的Vhost文件中这里都是conf文件 Gitlab.conf <VirtualHost *:80> ServerName euve252630.serverprofi24.de ServerSignature Off ProxyPreserveHost On <Location /> Order deny,allow Allow from all ProxyPassReverse http://127.0.0.1:8080 ProxyPassReverse http://euve252630.serverprofi24.de/ </Location> RewriteEngine on RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA] # needed for downloading attachments DocumentRoot /opt/gitlab/embedded/service/gitlab-rails/public </VirtualHost> openproject.conf Include /etc/openproject/addons/apache2/includes/server/*.conf <VirtualHost *:80> ServerName euve252630.serverprofi24.de DocumentRoot /opt/openproject/public ProxyRequests off # Can't use Location […]
我在Apache的子文件夹“子文件夹”中有一个应用程序,所以我可以使用一个URL,例如: https://example.com/subfolder/#/v2/login : https://example.com/subfolder/#/v2/login而不是https://example.com/#/v2/login 。 我在我的htdocs文件夹中的.htaccess文件中有以下内容: Options +FollowSymLinks -MultiViews RewriteEngine On RewriteBase / RewriteRule ^(?!subfolder/).* subfolder/$0 [L,NC] 问题是,即使对于我的服务器的根URL,它也在进行重写。 例如,如果我转到https://example.com/ ,我会在“子文件夹”中看到我的应用程序的主页。 我想这个重写规则只适用于“子文件夹”中的应用程序。 我也尝试把.htaccess文件放在“子文件夹”里,但是不起作用。