这从未发生过.通常它会显示错误,但现在它只给我一个500内部服务器错误.当然,之前,当它显示错误时,它是不同的服务器.现在我在一个新的服务器上(我有完全的root,所以如果我需要在php.ini中的某个地方配置它,我可以.)或者也许是Apache的东西?
我一直在忍受它只是将文件传输到我的其他服务器并在那里运行以找到错误,但这变得太乏味了.有没有办法来解决这个问题?
问题在于问题.我已经对这方面的解决方案进行了彻底的调查,我知道有这方面的主题,我也跟着他们,没有任何工作.话虽这么说,我会列出到目前为止我所做的一切.我在Windows XP计算机上的最新Eclipse版本上使用Zend Debugging运行PHP 5.2.14.我有1 GB的RAM.我安装了运行Apache,MySQL和FileZilla的XAMPP.
在XAMPP上我做了以下操作(在这些更改期间Apache已关闭):从XAMPP控制面板单击Admin并转到https:// localhost/xampp/.从那里我在欢迎页面上接受了这一行的证书:
对于OpenSSL支持,请使用https:// 127.0.0.1或https:// localhost的测试证书.
在同一部分,我检查phpinfo().在"环境"下,SERVER["HTTPS"]是on.在'Apache Environment'下,HTTPS是On.在"PHP变量"下,_SERVER["HTTPS"]是On.在'Phar'下,OpenSSL support是disabled(安装ext/openssl).我不知道如何启用Phar one.
现在关于C:\ xampp中的文件本身,我去了PHP文件夹.在生产和开发的php.ini文件(防患于未然),我allow_url_fopen=On,allow_url_include=On和我删除了分号,所以extension=php_openssl.dll不再注释掉.我甚至确认.dll位于PHP文件夹的ext文件夹中.libeay32.dll和ssleay32.dll都在PHP和Apache文件夹中.Apache文件夹不包含生产或开发php.ini文件.
为了安全起见,我去了http://www.slproweb.com/products/Win32OpenSSL.html并安装了Win32 OpenSSL v1.0.0d.
现在我的retrieve_website.php中的代码行如下所示:
$urlquery = "https://www.googleapis.com/customsearch/v1?key=".$appid."&cx=".$google_searchid."&q=".$query."&alt=atom&num=".$results;
$xmlresults = file_get_contents($urlquery);
Run Code Online (Sandbox Code Playgroud)
我有两个其他网站,我查询,但他们通过HTTP服务,他们工作正常.我还在脚本末尾附近输入了这行代码:
echo 'openssl: ', extension_loaded ('openssl') ? 'yes':'no', "\n";
echo 'http wrapper: ', in_array('http', $w) ? 'yes':'no', "\n";
echo 'https wrapper: ', in_array('https', $w) …Run Code Online (Sandbox Code Playgroud) 我只有一个页面,我想强制作为HTTPS页面访问(Apache上的PHP).如何在不使整个目录需要HTTPS的情况下执行此操作?或者,如果您从HTTP页面向HTTPS页面提交表单,它是通过HTTPS而不是HTTP发送的吗?
这是我的例子:
http://www.example.com/some-page.php
Run Code Online (Sandbox Code Playgroud)
我希望它只能通过以下方式访问:
https://www.example.com/some-page.php
Run Code Online (Sandbox Code Playgroud)
当然,我可以把这个页面的所有链接指向HTTPS版本,但这并不能阻止一些傻瓜故意通过HTTP访问它...
我想到的一件事是在PHP文件的标题中放置一个重定向来检查以确保它们正在访问HTTPS版本:
if($_SERVER["SCRIPT_URI"] == "http://www.example.com/some-page.php"){
header('Location: https://www.example.com/some-page.php');
}
Run Code Online (Sandbox Code Playgroud)
但这不是正确的方法,可以吗?
顺便说一句,请不要注意URL.我知道如果它实际上是一个有购物车等的页面,你会以不同的方式做到这一点.您可以将其视为一个网站,该网站以一个价格销售一件商品,您可以在其中输入您的信用卡信息,然后将其提交到外部网站上的支付网关,以便明确向您的卡收费一次.
我的Windows 7计算机上安装了WampServer 2.我正在使用Apache 2.2.11和PHP 5.2.11.当我尝试从表单上传任何文件时,它似乎上传,但在PHP中,$_FILES数组为空.文件c:\wamp\tmp夹中没有文件.我已配置php.ini为允许文件上传等.该tmp文件夹具有当前用户的读/写权限.我很难过.
HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form enctype="multipart/form-data" action="vanilla-upload.php" method="POST">
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
PHP:
<?php
echo 'file count=', count($_FILES),"\n";
var_dump($_FILES);
echo "\n";
?>
Run Code Online (Sandbox Code Playgroud) 我正在使用托管公司,如果文件index.html不存在,它将列出目录中的文件,它使用iso-8859-1作为默认编码.
如果服务器是Apache,有没有办法将UTF-8设置为默认值?
更新:另外我发现它实际上是使用HTML 3.2的DOCTYPE,然后根本就没有字符集...所以它没有设置任何编码.但有没有办法改变它使用UTF-8?
我的访问日志中这一行中的每一项内容是什么意思?
127.0.0.1 - - [05/Feb/2012:17:11:55 +0000]"GET/HTTP/1.1"200 140" - ""Mozilla/5.0(Windows NT 6.1; WOW64)AppleWebKit/535.19(KHTML,like Gecko)Chrome/18.0.1025.5 Safari/535.19"
我在MAMP中开发单页Javascript应用程序.我的JavaScript和HTML模板文件正在请求之间进行缓存.
是否有一种简单的方法在MAMP中指示我想阻止http文件缓存?可能有.htaccess档案?我在哪里放置.htaccess或修改Mac上的MAMP虚拟主机?
再一次,我的apache虚拟主机配置有问题.(使用默认配置而不是我的特定配置).
问题不是错误配置,而是如何解决它.
有没有人有好的建议来快速解决这类问题?
一些更多的信息.
默认的conf文件是这个:
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes …Run Code Online (Sandbox Code Playgroud) 这是场景:
index.php根文件夹中有一个文件index.php其中是在includes文件夹中.submit.php)位于根文件夹中,用于表单提交操作.我想includes通过htaccess 限制用户直接访问文件夹中的文件.也是为了submit.php.但是包含将适用于index.php文件.就像,如果用户类型www.domain.com/includes/somepage.php,它将限制它(可能会重定向到错误页面).
apache ×10
php ×6
.htaccess ×2
https ×2
access-log ×1
debugging ×1
file-upload ×1
http-headers ×1
mamp ×1
mod-rewrite ×1
openssl ×1
regex ×1
ssl ×1
virtualhost ×1
xampp ×1