代码之家  ›  专栏  ›  技术社区  ›  sixtyfootersdude

php中缺少mysql

  •  1
  • sixtyfootersdude  · 技术社区  · 14 年前

    我正在尝试通过在我的学校Unix服务器上运行的PHP连接到MySQLDB。这就是我要尝试的:

    $ php setupDatabase.php 
    PHP Fatal error:  Call to undefined function mysql_connect() in /users/cs/summers/Fall2010/webCentric/ass4/sessionTime/setupDatabase.php on line 16
    

    第16行指该行:

    db_server = mysql_connect($db_hostname, $db_username, $db_password);
    

    我认为这意味着MySQL在没有安装PHP的地方运行。当我执行时 <?php phpinfo(); exit(); ?> 而grep for mysql就是这样得到的:

    Configure Command =>  './configure'  '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' ... '--with-mysql=shared,/usr' '--with-mysqli=shared,/usr/bin/mysql_config' '--with-pdo-mysql=shared,/usr' ...
    

    我不确定这是否确认mysql没有安装。

    Q :我是不是找不到mysql了?我需要用mysql重新安装php吗?

    Q :我没有对服务器的根访问权限(显然)。我可以在没有根访问的情况下安装这个吗?如果是,有人能给我指一个教程吗?

    更新

    我刚刚查看了php.in i文件,其中包含关于mysql的内容(我删除了注释和mysqli资料)。

    [MySQL]
    mysql.allow_persistent = Off
    mysql.max_persistent = -1
    mysql.max_links = -1
    mysql.default_port =
    mysql.default_socket =
    mysql.default_host =
    mysql.default_user =
    mysql.default_password =
    mysql.connect_timeout = 60
    mysql.trace_mode = Off
    

    文件不包含: extension=mysql.so 这是启用MySQL所必需的吗?我没有修改php.ini的权限。我可以在某个地方创建另一个php.ini,或者在代码中使用include语句之类的语句吗?

    3 回复  |  直到 14 年前
        1
  •  3
  •   Ignacio    14 年前

    在php.ini上禁用了mysql扩展。

    编辑php.ini并取消注释(删除;)

    ; extension=mysql.so
    

    如果不能编辑php.ini,可以重写它 this way .

        2
  •  2
  •   Jason McCreary    14 年前

    根据您的编译标志,它看起来像 mysqli 已安装。我建议无论如何使用这些函数,因为它们是 改进 延伸。

        3
  •  0
  •   user466764    14 年前

    检查php.ini文件,看看是否启用了mysql扩展。看起来它没有看到,因为你得到了一个未定义的函数错误。

    查找这一行(在php.ini中)并删除分号,重新启动Web服务器,您应该与mysql保持联系。

    ;扩展名=php_mysql.dll