这个php.ini文件到底在哪里?

4

我在雅虎上运行php vs. 4.1.14并使用phpMyAdmin。它说文件位于/usr/lib/php/php4.ini,但我无法找到它的位置。它是否在phpMyAdmin文件夹中?我真的需要尽快找到并关闭magic_quotes,否则我会疯掉。谢谢。

好吧,我想可能不是很清楚。我执行了phpinfo()。我不知道如何在服务器上找到那个位置.....


locate 是你的好帮手(http://unixhelp.ed.ac.uk/CGI/man-cgi?locate+1) - miku
1
看一下 phpinfo 的转储。 - Gumbo
5个回答

4
  1. 执行 phpinfo():它会告诉您使用的 php.ini 文件的完整路径。

  2. 您不应该再使用 PHP 4 了。 :) 参考:PHP 4 官方支持已结束


我知道,但我无法弄清如何更新它。另外,我执行了phpinfo(),它给出了/usr/lib/php/php4.ini。我不知道它在服务器上的位置。 - JamesTBennett
@creocare 这是一个绝对路径。您是在哪里/如何尝试打开它? - Pekka
@creocare,那可能行不通,因为FTP访问通常受到Web文件夹的限制。您需要访问机器的SSH(然后可以使用WinSCP)。您可能需要root访问权限来修改文件。 - Pekka
是的,我在用 Mac。我想我会尝试一下 Fugu。 - JamesTBennett

0
如果您创建一个新的PHP文件,可以使用以下代码:
<?php phpinfo(); ?>

然后它会显示加载了哪个php.ini文件


0

您不必关闭魔术引号,只需在每个页面的顶部添加以下内容:

function FixMagicQuotes()
{
    if(get_magic_quotes_gpc())
    {
        foreach($_POST as $key => $value)
        {
            $_POST[$key] = stripslashes($_POST[$key]);
        }
    }
}

FixMagicQuotes();

如果魔术引号被禁用,它将不会执行任何操作。如果启用了魔术引号,则会循环遍历POST字段,并从每个条目中删除斜杠。


我可以在上传到数据库之前仅在最后一页使用它吗? - JamesTBennett

0

你在phpinfo中找到的路径

/usr/lib/php/php4.ini

路径是您托管帐户服务器上的路径。路径开头的正斜杠表示这是一个从文件系统根级别开始的路径。可以将其视为Windows机器上的C:\文件夹。

如果您可以访问服务器的SSH,可以使用命令行编辑器(“pico”是最容易学习的)编辑此文件。

$ pico /usr/lib/php/php4.ini

如果您正在使用sFTP客户端,您应该有一个命令(可能是按钮或下拉菜单),类似于“转到文件夹”或“转到目录”。这应该允许您输入路径。
/usr/lib/php/

这将使您进入带有php.ini文件的文件夹。

此外,通过sFTP登录时,您应该看到“..”文件夹。单击它将使您从主目录向上移动一个目录。一直点击此操作,直到您到达顶部,然后再向下浏览。

/usr/lib/php

如果您是通过某种文件共享方式访问此内容的,那么您就没有办法了。您的系统管理员已经有效地将您锁在外面了。此外,如果服务器管理员已经阻止访问这些文件夹和文件(通常在共享托管环境中很常见且必要),上述技术可能无法奏效。


0

在专用服务器上查找php.ini可以通过phpinfo轻松完成(正如其他人所说)

但我认为您正在使用共享托管环境(因此无法编辑php.ini),实际上需要关闭magic_quotes_gpc。(我是对的吗?) 如果是这样,只需在Web根目录(或phpMyAdmin根目录)中创建一个名为.htaccess的文件,并将以下行放入其中。

php_flag magic_quotes_gpc off  

希望能够帮到你 :-)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接