标签: php

您如何以文件所有者的身份而不是网络服务器用户的身份运行 PHP 脚本?

我确信对此有一个众所周知的答案,但我似乎找不到它。

我如何使用户的 PHP 脚本(~user/public_html例如,在 中)以所有者身份运行而不是作为(例如)运行www-data?

假设使用 Apache、Linux 和 PHP 5。

php setuid

5
推荐指数
1
解决办法
4539
查看次数

Lighttpd 无法创建 php-fastcgi.socket

我已经使用 yum 安装了 FastCGI,并编辑了我的 lighttpd.conf,但是在重新启动服务器时我收到了这个错误。

2009-06-24 12:44:43: (log.c.97) server started 
2009-06-24 12:44:43: (mod_fastcgi.c.924) bind failed for: unix:/var/run/lighttpd/php-fastcgi.socket-0 No such file or directory 
2009-06-24 12:44:43: (mod_fastcgi.c.1365) [ERROR]: spawning fcgi failed. 
2009-06-24 12:44:43: (server.c.902) Configuration of plugins failed. Going down. 
Run Code Online (Sandbox Code Playgroud)

我的 lighttpd.conf 的相关部分是:

fastcgi.server             = ( ".php" =>
                               ( "localhost" =>
                                 (
                                  #"socket" => "/var/run/lighttpd/php-fastcgi.socket",
                                  #"bin-path" => "/usr/bin/php-cgi"
                                   "socket" => "/tmp/php-fastcgi.socket",
                                   "bin-path" => "/usr/bin/php-cgi"
                                 )
                               )
                            )
Run Code Online (Sandbox Code Playgroud)

非常感谢。

php fastcgi lighttpd

5
推荐指数
1
解决办法
2万
查看次数

freebsd 无法识别 php 是通过端口安装的

我在 FreeBSD 8.0-STABLE 上安装了 php 5.2.12。它是从端口安装的,我正在尝试将其升级到 5.3.2。

但是由于某种原因,我的系统无法识别 php 是通过端口安装的。当我运行“pkg_version”时,该列表不包括 php,但它包括我已安装​​的所有扩展。

我什至尝试在“/usr/ports/lang/php5”上执行“make deinstall”,它告诉我端口已被卸载,但 php 似乎仍然正常工作,即“php -v”有效

关于这个端口如何脱离端口系统的任何想法?以及如何让端口系统识别它安装了 php?

编辑:当我一遍又一遍地运行“make deinstall”时,我总是得到相同的答案

卸载 lang/php5

我从来没有得到

未安装php52,跳过

这是我第一次运行“make deinstall”后的期望

freebsd php

5
推荐指数
1
解决办法
339
查看次数

一台服务器上的多个 MediaWiki 实例

我们需要在一台服务器上运行多个 MediaWiki Wiki,它们需要完全独立的用户帐户。什么是更好的解决方案:

  1. 使用单独的源代码并在数据库中使用命名空间。
  2. 使用相同的源代码线沿线的这个,基本上你创建一个包含该网站的具体信息每个站点定制的LocalSettings.php文件,你有依赖于网址发送给您提供相关网站的特定主文件的LocalSettings.php本地设置.php
  3. 符号链接所有源代码,除了 localsettings.php 和主文件夹中的任何其他相关文件。

显然,能够为每个实例使用相同的代码会更好,因为它会使升级更容易。

值得一提的是,它将在 Ubuntu 服务器、Apache 上运行,并在 nginx 和 MySQL 上运行

mysql php mediawiki wiki apache-2.2

5
推荐指数
2
解决办法
3445
查看次数

PHP memory_limit 本地值与 php.ini 值不匹配

CentOS系统。

总结:更改了 master 和本地 php.ini 中的 memory_limit,但特定虚拟主机的本地值没有变化。

为了提高性能,我在 /etc/php.ini 中将 memory_limit 设置为 1024M

phpinfo() 将服务器上其他虚拟主机的 Master 和 Local 值显示为 1024M。更改 /etc/php.ini 中的值会更改所有值,但一个除外。

一个站点的本地值为 256M。

我以为我发现了问题:该站点的根目录中有一个 php.ini 文件(我不知道),它有

memory_limit = 256M
Run Code Online (Sandbox Code Playgroud)

我把它改成了1024M。问题解决了?不。现在我不知道去哪里找。显然,我已经重新启动了 apache(/etc/init.d/httpd restart),这通常可以解决问题。

我还关闭了 APC 缓存,但我认为它不会缓存 ini 文件。

最后,我尝试将其添加到 httpd.conf 中的虚拟主机:

php_value memory_limit 536870912
Run Code Online (Sandbox Code Playgroud)

(是的,那将是 512MB)这没有任何影响。

还有什么问题?

谢谢。

php memory httpd.conf virtualhost php.ini

5
推荐指数
1
解决办法
2万
查看次数

如何在 CentOS 5.8(32 位)上升级到最新的 PHP、MySQL 和 phpmyadmin?

我在互联网上四处搜索,但找不到在 CentOS 5.8 32 位和 apache 上安装最新版本的 PHP、MySQL 和 phpmyadmin 的可靠来源。我试过几次,没有运气。每次都损坏了我的服务器。

我厌倦了假设什么是正确的并搞砸了我的服务器/浪费时间。我想我会来这里得到一个真正有效的合法答案,直接来自知道他们实际在做什么的社区。

如果可以使用 YUM 来完成未来的自动更新,那也会很酷。

mysql php centos centos5

5
推荐指数
1
解决办法
2万
查看次数

我的网络服务器是否允许预取?

我有一个基于图像的网站,其中包含多个画廊。当用户单击其中一个图像时views,特定图像的属性会增加。但是,我注意到在使用 Firefox (14.0.0.1) 时它会增加两次视图,而不那么复杂的浏览器(例如 K-meleon)会增加一次属性 - 应该如此。

然后有人在 stackoverflow 上指出,这可能是由于现代浏览器中的预取导致 PHP 脚本从数据库中获取图像并增加要执行两次的视图。因此,检查我的 apache access.log 我注意到 Firefox 确实请求每个图像两次:

Firefox/14.0.1" ::1 - - [03/Aug/2012:16:41:37 +0100] "GET /imgsite/getImg.php?id=23 HTTP/1.1" 200 57362 " http://localhost /imgsite/index.php " "Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20100101 Firefox/14.0.1" ::1 - - [03/Aug/2012:16:41:37 +0100] " GET /imgsite/getImg.php?id=23 HTTP/1.1" 200 57362 "-" "Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20100101 Firefox/14.0.1"

然后我阅读了 .htaccess 并尝试了几种阻止 Firefox(或 chrome)发送的预取标头的方法,但这些标头不应该出现在上面的代码段中吗?到目前为止,一切都没有奏效。这是我的 .htaccess 文件,它位于我网站的根 HTML 路径中:

RewriteEngine On
RewriteCond %{HTTP:X-moz} prefetch
RewriteRule . . [F,L]
Run Code Online (Sandbox Code Playgroud)

我已经尝试了上述其他更广泛的变体,但仍然无济于事。我的 apache …

php .htaccess http-headers

5
推荐指数
1
解决办法
671
查看次数

仙人掌图不显示

我已经为仙人掌创建了 php 脚本,它以如下格式输出数据:<variable>:<value>
我的脚本的输出:temperature:20 humidity:15 然后我创建了数据输入方法,其中输入字符串是:php <path_cacti>/scripts/getTempHumData.php <host> 脚本放置在仙人掌文件夹/脚本中。
输入字段是主机名 - 在脚本中我将它用作 $ARGV[0] 变量。
输出字段有两个 - 温度和湿度。
然后我将该脚本分配给设备,添加它需要的所有内容,关闭设备的 SNMP 使用。设备状态为“启动”。
然后我创建了图形模板和图形并将其分配给图形树。但是无法看到图形 - 它只是显示无法找到图像(浏览器中的小红色 x)。
我编辑了我的脚本以传递相同格式的常量值,我查看了 cacti/log/cacti.log 但我的主机 IP 没有条目。
此外,没有图形需要的 rrd 文件 - 在调试模式下它尝试创建,但没有创建 rrd 文件。同样在数据源路径中,指向的 rrd 文件也不存在。
我该如何解决这个错误?
先感谢您。

脚本代码:

<?php
/*$content = file_get_contents("http://".$ARGV[0]);
$air_temperature = null;
$air_humidity = null;

$xml = simplexml_load_string($content);
$air_temperature = $xml->Item[1]->Value;
$air_humidity = $xml->Item[2]->Value;

echo "temperature:".$air_temperature." humidity:".$air_humidity;*/
echo "temperature:20 humidity:15";
?>
Run Code Online (Sandbox Code Playgroud)

RRD 文件不是自动创建的,当然在运行我打开调试时给出的命令后,我得到了我的 rrd 文件。但是为每个需要的值显示 NaN 值。

scripting php cacti

5
推荐指数
1
解决办法
1万
查看次数

从 php53u 到 php54 的优雅升级

我们正在使用 iuscommunity repo 运行 CentOS 6 节点,并且想要将之前安装的 php53u 升级到 php54。

但是,这会在 php53u 和 php54 之间引入依赖冲突。有没有人对这个问题有想法?

--> Running transaction check
---> Package php54-fpm.i686 0:5.4.5-1.ius.el6 will be installed
--> Processing Dependency: php-common = 5.4.5-1.ius.el6 for package: php54-fpm-5.4.5-1.ius.el6.i686
---> Package php54-gd.i686 0:5.4.5-1.ius.el6 will be installed
---> Package php54-mbstring.i686 0:5.4.5-1.ius.el6 will be installed
---> Package php54-pecl-apc.i686 0:3.1.11-2.ius.el6 will be installed
--> Processing Dependency: php54 >= 5.3.5-1 for package: php54-pecl-apc-3.1.11-2.ius.el6.i686
--> Running transaction check
---> Package php54.i686 0:5.4.5-1.ius.el6 will be installed
--> Processing Dependency: php54-cli …
Run Code Online (Sandbox Code Playgroud)

php centos php-fpm alternative-php-cache

5
推荐指数
1
解决办法
3459
查看次数

我要下载什么才能获得 Apache 2.0.x + PHP 4.4.x 环境?

我要下载什么(在 Windows 机器上)才能获得 Apache 2.0.55 + PHP 4.4.7 环境?我对较新版本的 PHP 和 Apache 没问题,但如果我想在具有较旧版本 Apache 和 PHP 的旧 SunOS 服务器上模拟环境。任何人都可以推荐我应该使用的下载以及从哪里获得它们?

php zend-framework apache-2.2

5
推荐指数
1
解决办法
166
查看次数