Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用laravel从sql server生成UUID数据类型(uniqueidentifier)失败_Php_Sql Server_Laravel_Nginx_Sqlsrv - Fatal编程技术网

Php 使用laravel从sql server生成UUID数据类型(uniqueidentifier)失败

Php 使用laravel从sql server生成UUID数据类型(uniqueidentifier)失败,php,sql-server,laravel,nginx,sqlsrv,Php,Sql Server,Laravel,Nginx,Sqlsrv,我的php配置有问题。。 在我的本地计算机中,所有uuid都正常运行。。但是当我在服务器上运行时,uuid无法生成,比如 b“uT嫀ñèèèèèèèèèèèèè 在本地,我使用apache,在服务器上,我使用nginx。。 我的本地和我的服务器中的所有相同php版本和sqlserver版本 该服务器上的配置php.ini有什么问题 请帮助我..您的php.ini没有问题,好吗 问题是,当您生成uuid时,Laravel不理解它,当您将它放在linux中时。 只需检查模型(确保将type列设置为S

我的php配置有问题。。 在我的本地计算机中,所有uuid都正常运行。。但是当我在服务器上运行时,uuid无法生成,比如

b“uT嫀ñèèèèèèèèèèèèè

在本地,我使用apache,在服务器上,我使用nginx。。 我的本地和我的服务器中的所有相同php版本和sqlserver版本

该服务器上的配置php.ini有什么问题


请帮助我..

您的php.ini没有问题,好吗 问题是,当您生成uuid时,Laravel不理解它,当您将它放在linux中时。 只需检查模型(确保将type列设置为String)并检查查询, 这是一个例子:

    $user_list = DB::table('users')
                ->select(DB::raw('CAST(user.id AS NVARCHAR(36)) AS id'))
                ->orderBy('created_at', 'desc')
                ->first();

使用强制转换将帮助您正确获取uuid。

可能会从SQLServerDriverforPHP(dblib)中对uuid字段进行字符串化 您可以在PDO调用中添加选项,如

        PDO::DBLIB_ATTR_STRINGIFY_UNIQUEIDENTIFIER => true,

您能检查问题到底发生在哪里吗?在您的应用程序中,在数据库服务器中编写?您能进一步解释一下吗?您是如何猜到Linux涉及到这里的?