我有一个'数据集'网站和我试图为它写一些表格,其结果我想通过PHP回应。但是,我写了一些非常基本的代码来测试echo语句,我得到了奇怪的结果。我的代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Pre-Early-Access Access (testing area)</title>
</head>
<body>
<div class="tweets-container">
</div>
<form class="form">
<div class="form-group">
<label for="name">Full Name</label>
<input type="text" class="form-control" id="name" name="name">
</div>
<div class="form-group">
<label for="name">Watchlists You're On (separate entries with ';' symbol)</label>
<input type="text" class="form-control" id="name" name="watchlists">
</div>
<div class="form-group">
<label for="name">Twitter ID (after the @ sign)</label>
<input type="text" class="form-control" id="name" name="twitterId">
</div>
<div class="form-group">
<label for="name">Email Address</label>
<input type="text" class="form-control" id="name" name="email">
</div>
<div class="form-group">
<label for="name">PGP Key (if you have one)</label>
<input type="text" class="form-control" id="name" name="pgpkey">
</div>
<div class="form-group">
<label for="name">Home IP Address</label>
<input type="text" class="form-control" id="name" name="ipaddress">
</div>
<div class="form-group">
<label for="name">Uncheck if you do not wish to be placed on our watchlist</label>
<input type="checkbox" class="form-control" id="name" name="watch" checked>
</div>
<input type="submit" value="Submit">
</form>
<?php
echo "<p>Privacy through surveillance</p>";
?>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"
integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
crossorigin="anonymous"></script>
</body>
</html>
我尝试过使用echo("<p>Privacy through surveillance</p>");
而没有运气。
在我的服务器上运行php -v
的结果是:
PHP 7.0.8-0ubuntu0.16.04.3 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.8-0ubuntu0.16.04.3, Copyright (c) 1999-2016, by Zend Technologies
最终结果如下图所示:
查看时没有错误记录到浏览器控制台。
我只想:
通过监督隐私
显示,没有额外的字符。
我已将index.html文件重命名为index.php ,并将以下行放在我的apache2.conf文件中:
LoadModule php7_module modules/libphp7.so
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
根据链接的解决方案。但是,在输入新设置后尝试重新启动apache2进程时,我收到此错误:
apache2.service - LSB:Apache2 web服务器已加载:已加载 (/etc/init.d/apache2; bad;供应商预设:已启用)Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf活动:自2017-01-11 23:01:51 UTC之后失败(结果:退出代码); 6分钟一个 Docs:man:systemd-sysv-generator(8)进程:10654 ExecStop = / etc / init.d / apache2 stop(代码=退出,状态= 0 / SUCCE
进程:10678 ExecStart = /etc/init.d/apache2 start(code = exited, status = 1 / FAI lines 1-8 / 8(END)
当我在列为重复的问题的答案中删除建议作为添加的行时,例如
LoadModule php7_module modules/libphp7.so
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
我能够正常重启服务器,但index.php
php仍未正确解析。
文件所服务的服务器上运行sudo apachectl -e debug
的输出如下:
[Wed Jan 11 23:25:45.567849 2017] [so:debug] [pid 10961] mod_so.c(266):AH01575:从中加载模块access_compat_module /usr/lib/apache2/modules/mod_access_compat.so [1月11日星期三 23:25:45.568122 2017] [so:debug] [pid 10961] mod_so.c(266):AH01575: 来自/usr/lib/apache2/modules/mod_alias.so的已加载模块alias_module [Wed Jan 11 23:25:45.568271 2017] [so:debug] [pid 10961] mod_so.c(266):AH01575:从中加载模块auth_basic_module /usr/lib/apache2/modules/mod_auth_basic.so [Wed Jan 11 23:25:45.568420 2017] [so:debug] [pid 10961] mod_so.c(266):AH01575:加载模块 来自/usr/lib/apache2/modules/mod_authn_core.so的authn_core_module [Wed 1月11日23:25:45.568564 2017] [so:debug] [pid 10961] mod_so.c(266): AH01575:加载模块authn_file_module来自 /usr/lib/apache2/modules/mod_authn_file.so [Wed Jan 11 23:25:45.568712 2017] [so:debug] [pid 10961] mod_so.c(266):AH01575:加载模块 来自/usr/lib/apache2/modules/mod_authz_core.so的authz_core_module [Wed 1月11日23:25:45.568835 2017] [so:debug] [pid 10961] mod_so.c(266): AH01575:加载模块authz_host_module来自 /usr/lib/apache2/modules/mod_authz_host.so [Wed Jan 11 23:25:45.568955 2017] [so:debug] [pid 10961] mod_so.c(266):AH01575:加载模块 来自/usr/lib/apache2/modules/mod_authz_user.so的authz_user_module [Wed 1月11日23:25:45.569089 2017] [so:debug] [pid 10961] mod_so.c(266): AH01575:加载模块autoindex_module来自 /usr/lib/apache2/modules/mod_autoindex.so [Wed Jan 11 23:25:45.569283 2017] [so:debug] [pid 10961] mod_so.c(266):AH01575:加载模块 来自/usr/lib/apache2/modules/mod_deflate.so的deflate_module [Wed Jan 11 23:25:45.569406 2017] [so:debug] [pid 10961] mod_so.c(266): AH01575:从中加载模块dir_module /usr/lib/apache2/modules/mod_dir.so [Wed Jan 11 23:25:45.569514 2017] [so:debug] [pid 10961] mod_so.c(266):AH01575:已加载模块 来自/usr/lib/apache2/modules/mod_env.so的env_module [1月11日星期三 23:25:45.569629 2017] [so:debug] [pid 10961] mod_so.c(266):AH01575: 从中加载模块filter_module /usr/lib/apache2/modules/mod_filter.so [Wed Jan 11 23:25:45.569744 2017] [so:debug] [pid 10961] mod_so.c(266):AH01575:加载模块 来自/usr/lib/apache2/modules/mod_mime.so的mime_module [1月11日星期三 23:25:45.569898 2017] [so:debug] [pid 10961] mod_so.c(266):AH01575: 从中加载模块mpm_event_module /usr/lib/apache2/modules/mod_mpm_event.so [Wed Jan 11 23:25:45.570047 2017] [so:debug] [pid 10961:tid 140329551361920] mod_so.c(266): AH01575:从中加载模块negotiation_module /usr/lib/apache2/modules/mod_negotiation.so [1月11日星期三 23:25:45.570193 2017] [so:debug] [pid 10961:tid 140329551361920] mod_so.c(266):AH01575:从中加载模块rewrite_module /usr/lib/apache2/modules/mod_rewrite.so [Wed Jan 11 23:25:45.570324 2017] [so:debug] [pid 10961:tid 140329551361920] mod_so.c(266): AH01575:加载模块setenvif_module来自 /usr/lib/apache2/modules/mod_setenvif.so [Wed Jan 11 23:25:45.570591 2017] [so:debug] [pid 10961:tid 140329551361920] mod_so.c(266): AH01575:从中加载模块status_module /usr/lib/apache2/modules/mod_status.so httpd(pid 10871)已经 运行
我也尝试使用短格式php标签:
<?="<p>Privacy through surveillance</p>"?>
而是输出:
通过监督隐私
&#34;&GT;
仅添加
LoadModule php7_module modules/libphp7.so
服务器失败的apache2.conf
文件。在使用journalctl -xe
检查失败日志时,我看到:
- 单位apache2.service已经开始启动。 1月12日00:27:09 ubuntu apache2 [12850]:*启动Apache httpd web服务器apache2 1月12日 00:27:09 ubuntu apache2 [12850]:* 1月12日00:27:09 ubuntu apache2 [12850]:* apache2 configtest失败。 1月12日00:27:09 ubuntu apache2 [12850]:配置测试的输出是:1月12日00:27:09 ubuntu apache2 [12850]:apache2:第221行的语法错误 /etc/apache2/apache2.conf:无法加载模块1月12日00:27:09 ubuntu apache2 [12850]:动作&#39; configtest&#39;失败。 1月12日00:27:09 ubuntu apache2 [12850]:Apache错误日志可能包含更多信息。 1月12日 00:27:09 ubuntu systemd 1:apache2.service:退出控制进程, code = exited status = 1 Jan 12 00:27:09 ubuntu systemd 1:失败了 启动LSB:Apache2 Web服务器。 - 主题:单位apache2.service失败 - 定义者:systemd
- 支持:http://lists.freedesktop.org/mailman/listinfo/systemd-devel
- 单位apache2.service失败。
- 结果失败。 1月12日00:27:09 ubuntu systemd 1:apache2.service:单位进入失败状态。 1月12日00:27:09 ubuntu systemd 1:apache2.service:结果&#39;退出代码&#39;失败。 1月12日 00:27:09 ubuntu polkitd(authority = local)[3507]:未注册 unix-process的身份验证代理:12841:366652013 1月12日00:27:36 ubuntu sudo [12866]:彼得:TTY = pts / 0; PWD = /; USER = root; COMMAND = / bin / journalctl -xe 1月12日00:27:36 ubuntu sudo [12866]: pam_unix(sudo:session):root用户root(uid = 0)
打开的会话
答案 0 :(得分:0)
原来解决这个问题的方法是从我的系统中删除所有PHP和Apache的痕迹,同时运行sudo apt purge php*
/ sudo apt purge apache*
和sudo find -name "php"
/ sudo find -name "apache"
根目录(/
),因此我的系统上没有任何安装元素。
然后我下载了apache服务器和最新版本的php的tar包,然后为这两个版本运行./compile
,make
,sudo make install
。一旦他们到位,我需要做的就是添加:
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
到相关的conf文件,并且所有文件都按原样运行(从源代码编译后已添加LoadModule php7_module modules/libphp7.so
)。
我目前的假设是其中一个应用程序存储库存在问题(可能是我之前用于另一个项目的早期版本的PHP,我猜测它可能搞砸了Apache的一些元素)导致这个问题,一旦我完全删除它并且所有损坏的痕迹都已经完成,一切正常。
这只是一个理论,但是;)。
然而,看起来这个解决方案只是间歇性地工作,并且在不同的设备和浏览器中似乎有所不同。
我现在打算尝试实现一个节点服务器,因为我怀疑某种安全漏洞可能导致错误,我相信节点通常更安全......
使用gulp访问php的节点服务器工作正常。