我在Debian Squeeze上使用Apache + PHP 5.3.3-7,从版本库安装。 Debian Squeeze中的PHP发行包括Suhosin补丁。 我有问题上传文件大于cca 4 MB,一些不可见的限制,防止PHP接受上传。 在php.ini我有: 设置upload_max_filesize = 50M 设置post_max_size = 50M 设置memory_limit = 256M 设置max_execution_time = 120 设置max_input_time = 120 在suhosin.ini : suhosin.memory_limit = 256M suhosin.post.max_value_length = 50000000 suhosin.request.max_value_length = 50000000 suhosin.post.max_vars = 200000 suhosin.request.max_vars = 200000 我真的怀疑最后两个是重要的,但我被build议增加它们。 我知道确实PHP实际加载configuration值正确,因为phpinfo()符合我的期望。 我期望能够上传一个文件高达50MB,但上传4MB已经失败。 正常PHP每站点日志中没有logging错误。 而且我确定有足够的空间来保存上传的文件。 似乎有一些其他无形的限制,防止我上传文件。 这可能是什么? 也许Apache本身? 从来没有听说过这个限制。 我花了近一个星期的时间,而且我和客户一样绝望。 任何提示,欢迎。
我如何设置会话文件的默认权限,以便Apache-php进程和一些其他用户的php进程可以rw他们呢? 会话是由一些其他用户的PHP进程创build的,之后,Apache的PHP进程应该能够读取和写入。 现在会话文件的默认权限是600.它应该是660或666.在哪里以及如何设置此权限(例如httpd.cond或php.ini)? 所以在session_start()之后每次都不需要使用chmod。 服务器是我自己的,所以没有必要为了安全的原因避免这种情况。 Apache版本是2.2.15,php是5.3.3,服务器是Centos6 64位。 因为第一个问题是:为什么你需要这个,我首先回答:我已经在服务器上构build了几个suphp的站点,逻辑是build立在这个,所以有几十个session_start()和所有php-进程是由某个特定用户拥有的。 我有一个getimage.php,加载图像,在一些页面上可以有几十或几百个缩略图在同一页(我想这样!)。 尽pipe我有100M的互联网,但由于每次调用getimage.php,页面加载速度都很慢,新的php进程已经启动。 getimage.php使用会话来限制用户访问特定的图像。 我testing了为php创build一个Apache处理程序,并为此使用不同的文件扩展名:getimage.apachephp。 加速是巨大的! 但问题是,我已经手动chmod会话文件,以允许apache-php进程访问会话文件。 而且我认为,如果chmod可以在每个会话文件创build时自动生成,那么这个过程就变得更有意义了。 编辑:一个可能的解决scheme是使用 session_save_path( “0; 666; /path/到/ sessfile”); 的umask(0); 在session_start(); 或者,如果你想避免666并使用更安全的660,则apache-user和suphp-user必须属于同一个组,例如。 web和会话之后创build将创build的会话文件组更改为web 。 为了简单,我select了666。
我有一个运行在Apache服务器上的旧网站,它已经在Google中被编入索引。 我希望将所有这些索引链接redirect到我的新网站(因为较旧的页面不再存在)。 所以我希望将我的所有子子页面redirect到新的根页面 我有如下页面 http://itdost.com/answer-now/Aerobics http://itdost.com/answer-now/HTML http://itdost.com/answer-now/Culture 我为每一个使用下面的redirect代码 Redirect 301 /answer-now/Engineering http://www.itdost.com/questions/ Redirect 301 /answer-now/Food http://www.itdost.com/questions/ Redirect 301 /answer-now/ASP http://www.itdost.com/questions/ 但是,由于网站结构很大,我希望在一行中完成,而不是为每个redirect写一行 有些事情如下。 Redirect 301 /answer-now/% http://www.itdost.com/questions/ 但是上面的代码似乎不起作用
我遇到了麻烦,让客户看到一个被简单的Apache Basic Auth密码文件locking的网站。 它适用于Mac,Windows和我们的networking中的每个浏览器。 即使是客户在家里工作,而不是在他的办公室。 这里可能会出现什么问题? 一些代理caching的东西? 更新:我的configuration一直在项目中在.htaccess或vhostconfiguration AuthType Basic AuthName "Customer – Project" AuthUserFile /mnt/drbd0/www/staging.hostname.com/site/include/passwords Require user staging.project UPDATE2:这里是error.log的相关部分 [Tue Mar 12 11:15:54 2013] [error] [client ] user not found: / [Tue Mar 12 11:16:15 2013] [error] [client ] user not found: / [Tue Mar 12 11:16:39 2013] [error] [client ] user not found: […]
我打算在我的Raspberry PI(Wheezy 3.2.27)上安装和configurationRSS Lounge 。 这是当我去http://localhost/rsslounge : Apache模块“mod_rewrite”未加载 但是,重写模块已启用: ab@1234 : sudo apache2ctl -t -D DUMP_MODULES Loaded Modules: core_module (static) log_config_module (static) logio_module (static) version_module (static) mpm_prefork_module (static) http_module (static) so_module (static) alias_module (shared) auth_basic_module (shared) authn_file_module (shared) authz_default_module (shared) authz_groupfile_module (shared) authz_host_module (shared) authz_user_module (shared) autoindex_module (shared) cgi_module (shared) deflate_module (shared) dir_module (shared) env_module […]
我有很多redirect工作,但我有一个需要redirect,并删除文件名。 redirect 301 /path/to/file/default.aspx http://www.domain.com/newpath/to/page/ 当我实现它时,它会尝试redirect,但不会从URL中删除default.aspx。 编辑 重写规则: ## path relative to web root RewriteBase / ## workaround for HTTP authorization ## in CGI environment RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] ## always send 404 on missing files in these folders RewriteCond %{REQUEST_URI} !^/(media|skin|js)/ ## never rewrite for existing files, directories and links RewriteCond %{REQUEST_FILENAME} !-f RewriteCond […]
我需要在apache2中进行多行replace,一个mod-substitute只能做单行匹配AFAIK。 我需要能够做到这样的事情: 更换 <script> foo = x; bar = y; alert(x + y); </script> 同 <script> alert("I'm someone else!"); </script> 有没有办法做到这一点与Apache?
我们有一台运行Apache / php / postgres的Windows 7 Pro机器,在恒定负载(每秒几个)下处理Ajax请求。 它也运行各种其他应用程序,执行大量的磁盘写入。 通常在一秒钟内接收到Ajax响应,但是偶尔(在一个24小时内一次)在15秒内没有响应被发送,然后它们全部被发送,即它看起来服务器被阻塞长达15秒。 这会导致Ajax在客户端超时。 从Apache和其他应用程序的日志logging了这一点。 Perfmon显示了各种计数器下降到零/接近零 – 高清活动,CPU活动,networking活动等httpd#1似乎是仍然有一些CPU活动,虽然减less的唯一过程。 我怎样才能确定挂起的原因? 可以perfmon或其他工具告诉我什么资源阻塞? (“Windows性能工具包”或“进程监视器”对此是否有用?) NB Apache有充足的线程,postgres充足的连接,CPU和内存没有超出,我们已经尝试了电源选项,驱动程序,SFC / SCANNOW,CHKDSK / R,MEMTEST等。 更新22/03/2013 10:26: 感谢迄今为止的所有答复。 更多信息: 硬件: 机箱:Westek 2U机架式主板:Intel Q35 1333FSB(5xPCI,2xPCI-E,SATA II I / F,VGA I / F,2xRS232等) RAM:2x 2GB DDR2 PC2-5300非ECC CL4 240针内存模块(3GB可用作32位操作系统) 处理器:Intel Core2 Quad Q9550.2.83GHz 1066FSB 12MB Cache 存储:2个日立320GB SATA 16MBcaching7200 […]
我使用ODBC将openSUSE LAMP和Ubuntu LAMP服务器连接到DB2。 我们用于开发环境的openSUSE系统,最后部署在Ubuntu系统上。 在Ubuntu上,当SQL语句返回空值时,我们会得到段错误(请参阅相关错误报告的链接),但在openSUSE上不会发生这种情况。 这两台机器都运行64位,这里是两个盒子和他们的软件的版本: OS Version Kernel Apache PHP openSUSE 12.2 3.4.11-2.16-default 2.2.22 5.3.15 Ubuntu 11.04 2.6.38-11-server 2.2.17 5.3.22-1~dotdeb.0 (upgraded from 5.3.5-1ubuntu7) 链接: https://bugs.php.net/bug.php?id=59405 https://bugs.php.net/bug.php?id=54007 阅读php.net上的更新日志,看起来这个bug在5.3.11中得到修复,但升级仍然没有解决我们的问题。 最后,我逐行比较了两台服务器的phpinfo()输出,发现了一个看起来像红旗的部分,但不知道如何解决这个问题。 在ODBC部分中,ODBC_LFLAGS选项显示: openSUSE -L/usr/lib64 Ubuntu -L/usr/lib 这两个系统都是64位的,并且configuration为使用64位版本的iSeriesAccess和unixODBC。 由于IBM不支持Ubuntu,所以iSeriesAccess必须使用外来的RPM转换。 不幸的是升级Ubuntu或切换发行版不是我们的select。 如何切换Ubuntu使用ODBC_LFLAGS的/ usr / lib64? 还有我可能忽略的其他问题吗?
大约36个小时,我犯了一个configuration错误,并留下一个apache2服务器转发代理对所有人开放。 我已经closures了这个,但服务器仍然受到有希望的广告垃圾邮件制造者的打击。 我的apache错误日志填写了[错误] [客户端108.62.178.124]客户端被服务器configuration拒绝…我可以禁止这些错误信息?