0
votes

My project work is fine on Windows. When i try to run project on Ubuntu, i have error "Class ... not found" Im using silex, silex classes and other vendor classes is ok.It is find. But my classes not find. I used composer autoload. I fix my problem by composer comand "composer dumpautoload --optimize" but it is not ok?!

Why is that?

P.S windows(OpenServer - php 5.6) ubuntu ( LAMP - php 7.0)

project here

1
Make sure that the folder names to your autoloaded files have the correct casing. Windows file system don't care about the casing, *nix systems do... On Windows: some/folder == Some/Folder, while on *nix: some/folder != Some/Folder. The same goes for filenamesM. Eriksson
@MagnusEriksson and "composer dumpautoload --optimize" - It may affect it?Vitaxxxa
It depends if that was the issue. Check your casing and give it a shot. Are you using psr-0 or psr-4 style autoloading?M. Eriksson
psr-0. Okay, I'll check the codeVitaxxxa
Remember that all namespaces, files, folders and classnames must have the same casing, or it will not work.M. Eriksson

1 Answers

0
votes

Make sure that the auto loaded files and folders have the correct (the same) casing as the namespaces and class snames. Windows file system don't care about the casing, *nix systems do...

On Windows:

some/folder == Some/Folder

While on *nix:

some/folder != Some/Folder