Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.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__atuLoad函数在Linux上不起作用(在Windows上开发)_Php_Linux_Windows_Pdo - Fatal编程技术网

PHP__atuLoad函数在Linux上不起作用(在Windows上开发)

PHP__atuLoad函数在Linux上不起作用(在Windows上开发),php,linux,windows,pdo,Php,Linux,Windows,Pdo,我有一个小型数据库应用程序,它使用一个自定义类通过PDO连接到数据库 这个应用程序是在xampp上开发的,然后我将它加载到一个Linux服务器上,在那里它运行良好。然后,我制作了一个本地Windows副本,并修改了一些东西 现在数据库没有连接,我想这是因为php中的自动加载功能不起作用 该函数从加载几个php文件变为加载一个充满类的目录。我没有原始功能,但它目前看起来是这样的: function __autoload($class_name) { $filename = 'classes

我有一个小型数据库应用程序,它使用一个自定义类通过
PDO
连接到数据库

这个应用程序是在xampp上开发的,然后我将它加载到一个Linux服务器上,在那里它运行良好。然后,我制作了一个本地Windows副本,并修改了一些东西

现在数据库没有连接,我想这是因为php中的自动加载功能不起作用

该函数从加载几个php文件变为加载一个充满类的目录。我没有原始功能,但它目前看起来是这样的:

function __autoload($class_name) {
    $filename = 'classes/' . str_replace('_', DIRECTORY_SEPARATOR, strtolower($class_name)).'.php';
    include $filename;
};

在我将它加载到Ubuntu服务器之前,一切都正常。我无法再访问该类以连接到数据库。我认为这与目录名有关,但我对Linux缺乏经验。这不是指什么吗?

您知道在linux中(准确地说,在本机linux文件系统中)文件名是区分大小写的吗?我没有,删除
strtolower
解决了这个问题。谢谢。