问题标签 [mod-php]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache - .htaccess 添加 php 类型
我一直在尝试使用 .htaccess 将 .inc 页面添加为 php 页面,但每次我将其添加到行尾的现有代码中时,它都会下载页面而不是作为 php 文件处理。
我现有的 .htaccess 代码
我尝试在现有代码中添加以下行,但不起作用。
php - 我如何告诉 Apache2,默认运行 mod_php5 但在 CGI 模式下运行此 VH?
服务器
我有一个开发服务器,用于托管我当前的项目。以下是一些统计数据:
问题
我正在使用 PHP 5.3.3 运行mod_php5
它,它运行良好。但是我只需要在服务器上为一个 VH 运行 PHP 5.2.11,所以我使用phpfarm来编译 PHP 5.2.11。我想将 Apache 配置为对服务器上除此 VH 之外的所有内容使用 mod_php5。我将通过 FastCGI 为这个 VH 运行 PHP 5.2.11。
我的测试
作为测试,我使用的是 Apache 的默认站点/var/www
。我设置了以下目录文件来向我报告 PHP 版本:
- /var/www/phpinfo.php
- /var/www/php-5.2.11/phpinfo.php
我的目标是向/var/www/phpinfo.php
我展示版本 5.3.3 (mod_php5) 并/var/www/php-5.2.11/phpinfo.php
展示给我 5.2.11 (CGI)。这还不行。
我插入了以下代码/etc/apache2/httpd.conf
:
我将以下代码插入到默认站点的 VH 定义中:
结果
启用mod_php5
:
- /var/www/phpinfo.php ---> 5.3.3 (
mod_php5
) - /var/www/php-5.2.11/phpinfo.php ---> 5.3.3 (
mod_php5
)
禁用mod_php5
:
- /var/www/phpinfo.php ---> 没有处理程序;Firefox 尝试下载 PHP 文件
- /var/www/php-5.2.11/phpinfo.php ---> 5.2.11 (CGI)
涉及的文件
multithreading - 在禁用“线程安全”的情况下配置/编译 mod_php(Apache 2.2.17 的 PHP 5.2.17)
我的 Linux 发行版是 RedHat / CentOS 5.x i386/x86_64。
我正在使用自定义编译的 Apache 版本 2.2.17(worker 和 prefork)模式以及自定义编译的 mod_php(PHP 5.2.17)。
phpinfo() 页面显示“线程安全”已启用。
我的问题是最新的 ZendOptimizer 版本 3.3.9 不再提供线程安全扩展 (_ts.so)。因此需要在 PHP 中禁用“线程安全”。
如何在禁用线程安全的情况下配置(*.ini 选项)或编译(配置选项、制作标志等)mod_php
webserver - mod_php效率低于fastcgi php(php-fpm)的原因
我看到大多数答案认为 mod_php 效率较低,因为由于提供静态文件,内存占用会更高,就像这个一样。
但我有不同的看法,如下:
事实上,代码段在fork()
ed 进程之间是共享的,所以内存占用谓词不应该成立。
我能想到的唯一原因mod_php
是非线程安全的,因此 Web 服务器只能为每个请求创建子进程。
而在 fastcgi 模式下,Web 服务器可以通过多路复用技巧来提高性能,从而减少fork()
开销。
总之,mod_php 的缺点不是它的内存占用,而是它的开销fork()
,但如果mod_php
可以是 thread_safe,fork()
就没有必要了,这将是服务请求的最有效解决方案。
以上是我的看法,但不是100%肯定。
那正确吗?
php - 通过 Xdebug 禁用 HTML 堆栈跟踪
管理员在我们共享的 PHP 5.3.0 服务器中安装了 Xdebug 2.1.1 以便使用它的调试器。现在,我几乎无法阅读未捕获异常的堆栈跟踪,因为它们是由 Xdebug 格式化的,带有与网站的 CSS 交互不良的恼人颜色:
由于 PHP 作为 Apache 模块运行,我尝试在.htaccess
文件中禁用此功能,但无法成功:
phpinfo()
在Local Value列中显示了我的更改,但我仍然可以看到那些可怕的橙色表格。我需要更改的指令是什么?
python - Apache mod_wsgi 和 php 在同一个域中
是否可以让我的网络服务器在同一个域中运行 python 和 php?
我在 python/django 中有一个网站 www.mydomain.com。
现在,我必须在 wordpress 中的 www.mydomain.com/blog 中托管一个博客。
我可以通过吗?
Apache 2.2 mod_wsgi
我现在的配置:
谢谢
apache - 如何防止 Apache / mod_rewrite 将路径视为同名文件
我正在使用 WAMP 服务器,大部分都是开箱即用的配置。我无法让 mod_rewrite 在本地按预期运行(在生产服务器上一切正常)。
我有一个 PHP 文件位于:
/ajax/graphs/get-graph.php
通常调用此文件的方式是通过加载的引导文件
/index.php
我在根目录有一个 .htaccess 文件,其中包含以下规则:
所以,基本上,当我的应用程序通过 AJAX 请求时,/ajax/graphs/get-graph/
对它的调用应该被定向到/index.php
.
问题是,Apache/mod_rewrite 看到请求路径并/ajax/graphs/get-graph.php
直接加载。
如何防止 Apache 假定该/ajax/graphs/get-graph/
文件是有效文件,因为该位置存在同名的 php 文件?
php - mod_php、mod_python、mod_Language 是如何工作的
一些 Apache 模块与编程语言相关,例如 mod_php 和 mod_python。描述基本上是“允许在 apache 中使用 php”或“允许在 apache 中使用 python”。我试图了解这些类型的“语言”模块如何工作的概述。
apache - 是否可以仅制作 APC 缓存 1 版本的 wp-includes?
我目前使用 mod_php 和 apc 在 prefork 模式下使用 httpd。
我在我的服务器上安装了多个 wordpress,但是使用 w3-total-cache 我发现我的 apc 缓存正在缓存同一文件 wp-includes 的多个版本。
由于我所有的站点都运行最新版本的 wordpress 并且所有 wp-includes 都是相同的,因此 apc 只缓存 wp-includes 中文件的 1 个版本并将其用于所有站点会很方便,因为这样可以节省很多的浪费空间。
是否有执行此操作的操作码缓存?我可以告诉 wordpress 使用相同的后端吗?(我不想在 wordpress 本身上使用多站点,因为这些站点完全相互独立。)