gpt4 book ai didi

php - Artisan 无法连接到 mysql - Laravel 4.2

转载 作者:行者123 更新时间:2023-11-29 05:56:22 24 4
gpt4 key购买 nike

我克隆了一个基于 laravel 4.2 构建的项目。目前我的 Xampp 版本为 7.0.13.1,php 版本为 7.1。

当我输入 php artisan migrate 时,它给出了一个错误 [PDOException] SQLSTATE[HY000] [2002] No such file or directory 这意味着我的 artisan 没有连接到我在 Xampp 上运行的 mysql。

在终端中,我尝试了 which php 并且我得到了 /usr/local/php5/bin/php.

这可能是我的问题的原因吗?该路径未指向我的 Xampp 版本 7.0.13.1?

PS:克隆后,我按照github页面上的步骤

composer install

$ php artisan migrate

$ php artisan db:seed

$ php artisan serve

请帮忙?

最佳答案

类似 XAMP 的工具, MAMPWAMP有自己的 PHP 和 MySQL 二进制文件,不使用潜在的全局安装版本。
我猜你正在使用安装了 XAMP 的 MySQL,所以套接字不是您可以在系统中搜索但在 XAMP 中搜索的默认设置。

你有两个选择:

  1. 更新全局 PHP 的 php.ini 以设置 pdo_mysql.default_socketmysqli.default_socket 到 XAMP 安装中的 MySQL 套接字为了您的全局 PHP 二进制文件能够连接您的 XAMPMySQL版本。
  2. 使用 XAMP 的 PHP 二进制文件(推荐)。

推荐的选项是第二个,因为XAMP的PHP二进制是已经配置为使用正确的 MySQL 套接字,不需要更新任何配置文件。

我将在下面解释如何找到 MySQL 套接字以及如何定位 PHP 二进制目录。

查找MySQL套接字路径:

  • 在您的 Web 服务器目录(通常是 www/htdocs/public_html/)中写入以下代码

    <?php
    //phpinfo.php
    phpinfo();
  • 在您的 Web 浏览器中打开 URL http://localhost/phpinfo.php(适应主机名(如果需要)。

  • 根据您用于连接到数据集的 PHP 扩展搜索pdo_mysql.default_socketmysqli.default_socket 你会找到套接字文件的路径。

参见 phpinfo() .

找到PHP二进制目录:

  • 在您的 Web 服务器目录中编写以下代码

    <?php
    //bindir.php
    echo PHP_BINDIR;
  • 在 Web 浏览器中打开 URL http://localhost/bindir.php

  • 写入托管 PHP 二进制文件的目录路径。

感谢this answer获取信息。
查看documentation关于预定义常量。

在你的例子中,托管 PHP 的目录是 /Applications/XAMPP/bin/ 所以你应该运行命令:

/Applications/XAMPP/bin/php artisan migrate

关于php - Artisan 无法连接到 mysql - Laravel 4.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49088132/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com