Current version of spip_loader : 6.1.7
Using spip_loader to install SPIP automatically
spip_loader requires at least PHP 5.6
- Check the php compatibility of your host by following the table at: Supported Versions
- Download the script
- Set this file via SFTP in the directory where you want to install SPIP (generally at the root of your server). Caution: configure your client software in binary mode for this transfer [1].
- Call the script from your browser
http://www.mysite.tld/spip_loader.php
- The script checks if your hosting meets the necessary requirements then indicates the SPIP version you are going to install or update (usually the latest version).
- Choose your version and start the automatic installation.
Leave the script online
Once SPIP installed, you can safely leave the script spip_loader.php on the server. Only the authorised and authenticated administrators will be able to access it. The benefit is to be able, in case of a problem, to update SPIP very easily.
Detailed explanations
spip_loader detects its new versions and offers to update itself without the need for an FTP transfer.
- a drop-down list allows to choose the version to be installed
- if no SPIP is installed :
- the drop-down list selects the latest stable version
- if a SPIP is already installed :
- the drop-down list is positioned by default on the latest version of the same branch as the site (if it is still referenced).
- files that are obsolete after the update (i.e. that have been removed between the current site version and the installed version) are stored in a directory
fichiers_obsoletes_{date}
where date is replaced by the current date and time. This applies only to the directories:ecrire
,prive
,squelettes-dist
andplugins-dist
(and the old directoryextensions
). - corollary to the previous point, if plugins had been added to the plugins-dist/ directory (therefore not belonging to the zip provided by SPIP), they will also be moved to this directory of obsolete files, unless they contain a
.spip_loader_keep
file.
- It is possible to use a configuration file to manage the defines and keep them from one update to another with spip_loader_config.php
As of version v5.2.0, spip_loader.php is in compressed phar binary format, which also includes translations. If you need to use defines, you need to create a configuration file spip_loader_config.php
As of version 6.0.0, customisation constants are deprecated. The configuration file spip_loader_config.php must return an array, as shown in the example below.
Using spip_loader to execute an update
To update SPIP, proceed the same way:
- Access the SPIP private area
- Upload the script to your server (if not already done)
- Call the script from your browser
http://www.mysite.tld/spip_loader.php
- Choose the version you want to install
- Launch the automatic installation process
Before calling the script you should be identified as a webmaster.
Customize the authors authorized to perform an update
By default, only the author n°1 can perform this update.
If you want to add other authors, you need to create a configuration file spip_loader_config.php (at the root) which will be included automatically. This way your settings are preserved when updating spip_loader.
Example of file spip_loader_config.php
:
<?php
return [
'authorized.users' => [5, 6, 8],
];
Frequently encountered errors
I run spip_loader and get an error "SHA512 signature could not be verified: broken signature.."
You haven’t transferred the spip_loader.php to your server properly: you need to transfer the file in Binary mode from your FTP software. Cf. #Utiliser-spip_loader-pour-installe...
When I go to mysite/spip_loader.php: I get a 403 - File Access Denied
Often there is a slash/
at the end of mysite/spip_loader.php
inherited from previous usage. Removing this slash is often enough to remove the error and allow spip_loader.php to do its job.
What to do in case of failure?
spip_loader can fail to upload files. Generally it is caused by permissions issues on the server. In this case you will have to install SPIP:
- either by transferring manually the files via FTP
- or by using git (for advanced users)
Technical notes
- The spip-loader sources are in the development area:
https://git.spip.net/spip-contrib-outils/spip_loader