Can't Install Chamilo on Server #5183
Replies: 6 comments 1 reply
-
I have re-downloaded the tar.gz file from Chamilo.org. I am still getting an error message, but it is a slightly different one. Fatal error: Uncaught Doctrine\Common\Annotations\AnnotationException: [Semantical Error] The class "Doctrine\ORM\Mapping\Table" is not annotated with @annotation. Are you sure this class can be used as annotation? If so, then you need to add @annotation to the class doc comment of "Doctrine\ORM\Mapping\Table". If it is indeed no annotation, then you need to add @IgnoreAnnotation("ORM\Table") to the class doc comment of class Chamilo\CoreBundle\Entity\ExtraFieldOptionRelFieldOption. in /var/www/chamilo/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationException.php:40 Stack trace: /var/www/chamilo/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php(849): Doctrine\Common\Annotations\AnnotationException::semanticalError() /var/www/chamilo/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php(724): Doctrine\Common\Annotations\DocParser->Annotation() /var/www/chamilo/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php(377): Doctrine\Common\Annotations\DocParser->Annotations() /var/www/chamilo/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php(146): Doctrine\Common\Annotations\DocParser->parse() /var/www/chamilo/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/CachedReader.php(62): Doctrine\Common\Annotations\AnnotationReader->getClassAnnotations() /var/www/chamilo/vendor/doctrine/persistence/lib/Doctrine/Persistence/Mapping/Driver/AnnotationDriver.php(177): Doctrine\Common\Annotations\CachedReader->getClassAnnotations() /var/www/chamilo/vendor/doctrine/persistence/lib/Doctrine/Persistence/Mapping/Driver/AnnotationDriver.php(245): Doctrine\Persistence\Mapping\Driver\AnnotationDriver->isTransient() #7 /var/www/chamilo/vendor/doctrine/persistence/lib/Doctrine/Persistence/Mapping/AbstractClassMetadataFactory.php(90): Doctrine\Persistence\Mapping\Driver\AnnotationDriver->getAllClassNames() /var/www/chamilo/main/install/index.php(786): Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->getAllMetadata() {main} thrown in /var/www/chamilo/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationException.php on line 40 |
Beta Was this translation helpful? Give feedback.
-
I found something that may shed some light on my particular issue. This post( issue 3710) describes an issue with two missing PHP packages: tokenizer and filter. I do remember an error that I was encountering that I was able to solve by installing php-tokenizer after the upgrade from 7.3 to 74. The error listed in issue 3710 is very similar to what I remember: "Fatal error: Uncaught Error: Call to undefined function token_get_all()". This error did go away after I installed tokenizer. However, I am unable to find a specific php-filter package in 2024 for the php74 that I have installed on my machine. It is listed as a module, so perhaps it's just a matter of making sure it is activated. Tokenizer is installled: Side note: I installed a 32bit wampserver on my Windows laptop. Chamilo installed on that just fine. Now I just may need some help figuring out what is going on with my server. |
Beta Was this translation helpful? Give feedback.
-
I found an old export of the original database that I had forgotten about, and I was able to restore my 1.11.14 installation, and I was able to load the home page. As soon as I logged in, however, the screen went blank. The error message in the logs is very similar to the message I got during the failed installations. I should mention that these messages also appear in the logs during the failed installations. I have also purged other versions of php from my system. I had 5.6, 7.0 7.2,7.3,7.4 and this alternative php74 from the other repository. [Mon Feb 26 00:04:08.621310 2024] [php7:error] [pid 16009] [client 10.0.0.7:56908] PHP Fatal error: Uncaught Doctrine\ORM\Mapping\MappingException: Class "Chamilo\UserBundle\Entity\User" is not a val |
Beta Was this translation helpful? Give feedback.
-
The system is working now. I do not understand how, as I have not made any additional changes other than to recreate my certificates with letsencrypt. In any event, maybe something here will give a hint towards another problem in the future. |
Beta Was this translation helpful? Give feedback.
-
The very next day the error came back. |
Beta Was this translation helpful? Give feedback.
-
Hi @mmoorefpcs For Ubuntu, I would recommend ondrej's repositories (you can find that by yourself). From the error messages you are reporting, it feels like you are trying (maybe) to update through Git. If you do that, you have to run I think the issue you are having should be solved by that. It seems like some code is looking for an Entity and not finding it. New entities are pre-configured into the autoload files through |
Beta Was this translation helpful? Give feedback.
-
I will start out by saying that I suspect that this issue is caused by something small that I just don't see.
I had Chamilo installed on the server previously. (1.11.14). PHP 7.3 I recently updated to PHP 7.4
Now, in order to even install 7.4 at this time, I had to add some repositories. I did have 7.4 installed on my machine back when 7.4 was supported, but I did not have all the packages that I needed and now you can't get them from the same repositories, so I had to add new ones. These repositories are listed on a few sites as the ones to add if you need older versions of PHP on an older box.
sudo add-apt-repository ppa:sergey-dryabzhinsky/php74
sudo add-apt-repository ppa:sergey-dryabzhinsky/php7-modules
sudo add-apt-repository ppa:sergey-dryabzhinsky/backports
sudo add-apt-repository ppa:sergey-dryabzhinsky/packages
Then Chamilo would not load. It was giving a database error. I decided to do reinstall and realized that pdo_mysql was missing after update. That was an easy fix. However, no matter what I tried after installing pdo_mysql, I get Fatal Exceptions on the last step of the install. I can't help but think there is a component missing from PHP or something like that, but I am unable to determine what that may be. As far as I can tell, my previous folder installation would still work if the database was intact. I let it get overridden because there was really nothing there.
Currently, running Ubuntu 18 on 32 bit Linux with 4GB of ram. Recently signed up for Ubuntu Pro to get additional security updates. If Ubuntu 18 is a problem for newer versions, that's fine, but I still should have been able to install the version that worked previously. I could not. When I tried I received an error similar to the one below.
I have done some searching, but I have not been able to find an error quite like this one.
I am in the process of building a 64 bit Ubuntu box, but there is another program that I use for my HOA that I need to make sure works with PHP 8 before I fully commit to that.
I even went as far as to install Composer version 2 to recreate the vendor directory (found that step somewhere online)
This is the error message that I get during step 7 of Chamilo installation:
Fatal error: Uncaught Doctrine\ORM\Mapping\MappingException: Class "Chamilo\TicketBundle\Entity\Project" is not a valid entity or mapped super class. in /var/www/chamilo/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.php:348 Stack trace: #0 /var/www/chamilo/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/AnnotationDriver.php(95): Doctrine\ORM\Mapping\MappingException::classIsNotAValidEntityOrMappedSuperClass() #1 /var/www/chamilo/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php(155): Doctrine\ORM\Mapping\Driver\AnnotationDriver->loadMetadataForClass() #2 /var/www/chamilo/vendor/doctrine/persistence/lib/Doctrine/Persistence/Mapping/AbstractClassMetadataFactory.php(306): Doctrine\ORM\Mapping\ClassMetadataFactory->doLoadMetadata() #3 /var/www/chamilo/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php(82): Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->loadMetadata() #4 /var/www/chamilo/vendor/doctrine/persistence/lib/Doctrine/Persistence/Mapping/AbstractClassMetadataFactory.php(185): Doctrine\ORM\Mapping\ClassMetadataFactory->loadMetadata() #5 /var/www/chamilo/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php(288): Doctrine\Persistence\Mapping\AbstractClassMetadataFactory->getMetadataFor() #6 /var/www/chamilo/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(1764): Doctrine\ORM\EntityManager->getClassMetadata() #7 /var/www/chamilo/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(1737): Doctrine\ORM\UnitOfWork->doPersist() #8 /var/www/chamilo/vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php(610): Doctrine\ORM\UnitOfWork->persist() #9 /var/www/chamilo/main/install/install.lib.php(3120): Doctrine\ORM\EntityManager->persist() #10 /var/www/chamilo/main/install/index.php(901): finishInstallation() #11 {main} thrown in /var/www/chamilo/vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/MappingException.php on line 348
These are my PHP modules
php -m
[PHP Modules]
bcmath
bz2
Core
ctype
curl
date
dom
exif
fileinfo
filter
gd
gettext
hash
iconv
imap
intl
json
ldap
libxml
mbstring
mysqli
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlrpc
xmlwriter
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
php -v
PHP 7.4.33-SergeyD/6.1 (cli) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.33-SergeyD/6.1, Copyright (c), by Zend Technologies
Beta Was this translation helpful? Give feedback.
All reactions