cancel
Showing results for 
Search instead for 
Did you mean: 

run setup:upgrade from PHP script

run setup:upgrade from PHP script

Hello,

 

I'm working on the Magento installer for Installatron (http://installatron.com/) and I'm having some trouble with getting upgrading to 2.1.9 to work.

 

I have it all working up to the point where I need to run "bin/magento setup:upgrade". I don't have the ability to run a shell command in this upgrader code so I'm trying to write a little PHP script to do something equivalent. This is what I'm trying:

 

 

$this->write('<?php

$_SERVER["argv"] = array("setup:upgrade");
$_SERVER["argc"] = count($_SERVER["argv"]);

try
{
    require __DIR__ . "/app/bootstrap.php";
}
catch (\Exception $e)
{
    echo "Autoload error: " . $e->getMessage();
    exit(1);
}

try
{
    $application = new Magento\Framework\Console\Cli("Magento CLI");
    $application->run();
}
catch (\Exception $e)
{
    while ($e)
    {
        echo $e->getMessage();
        echo $e->getTraceAsString();
        $e = $e->getPrevious();
    }
    exit(1);
}

');
$r = $this->fetch("itronsetup.php", null, null, false);
$this->rm("itronsetup.php");
?>

fetch() is Installatron's command for performing a HTTP call to the script.

 

And this code runs without a problem -- or at least without an error, but Magento still reports that "bin/magento setup:upgrade" needs to be run.

 

We use similar code to this to install Magento, and that has been working fine, but I've just run into this problem with upgrading to 2.1.9 so I wondered if anyone can offer any ideas on how I might be able to get this working?

 

Thanks,

Rowan

@Installatron

 

 

12 REPLIES 12

Re: run setup:upgrade from PHP script

@Sumaleth

 

<?php

use Magento\Framework\App\Bootstrap;

require __DIR__ . '/app/bootstrap.php';

$bootstrap = Bootstrap::create(BP, $_SERVER);

$obj = $bootstrap->getObjectManager();

$state = $obj->get('Magento\Framework\App\State');
$state->setAreaCode('adminhtml');
$k[0]='bin/magento';
$k[1]='cache:status'; // write your proper command like setup:upgrade,cache:enable etc...
$_SERVER['argv']=$k;
try {
    $handler = new \Magento\Framework\App\ErrorHandler();
    set_error_handler([$handler, 'handler']);
    $application = new Magento\Framework\Console\Cli('Magento CLI');
    $application->run();
} catch (\Exception $e) {
    while ($e) {
        echo $e->getMessage();
        echo $e->getTraceAsString();
        echo "\n\n";
        $e = $e->getPrevious();
    }
}

Problem solved? Click Kudos & Accept as Solution!
Sunil Patel
Magento 2 Certified Professional Developer & Frontend Developer

Re: run setup:upgrade from PHP script

Hi @Sumaleth,


It seems there is an error on the script. 4th line starting from bottom has:

');

Is that correct?

If this is a problem with the editor can you share the full code through pastebin?

Re: run setup:upgrade from PHP script

Oh, I cut out the start of that command, the $this->write(' thinking it would make the code cleaner but didn't think about the other end! So yeah, that's just the closing end of the command that writes out that php script to a file. I corrected my original post. Thanks for spotting that.

Rowan.

 

Re: run setup:upgrade from PHP script

That looks interesting. I'll give it a try.

Thanks,

Rowan.

 

Re: run setup:upgrade from PHP script

@Sunil Patel,

It didn't work; it gives the same error as my original code (this is from ./var/report/):

 

a:4:{i:0;s:559:"Please upgrade your database: Run "bin/magento setup:upgrade" from the Magento root directory. 
The following modules are outdated:
Magento_Catalog schema: current version - 2.1.3, required version - 2.1.4
Magento_Catalog data: current version - 2.1.3, required version - 2.1.4
Magento_Quote schema: current version - 2.0.3, required version - 2.0.4
Magento_Quote data: current version - 2.0.3, required version - 2.0.4
Magento_Usps schema: current version - 2.0.0, required version - 2.0.1
Magento_Usps data: current version - 2.0.0, required version - 2.0.1";i:1;s:2997:"#0 /home/admin/domains/{DOMAIN}/public_html/magento53466888/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\Framework\Module\Plugin\DbStatusValidator->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#1 /home/admin/domains/{DOMAIN}/public_html/magento53466888/vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'front-controlle...')
#2 /home/admin/domains/{DOMAIN}/public_html/magento53466888/vendor/magento/module-page-cache/Model/App/FrontController/BuiltinPlugin.php(73): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}(Object(Magento\Framework\App\Request\Http))
#3 /home/admin/domains/{DOMAIN}/public_html/magento53466888/vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\PageCache\Model\App\FrontController\BuiltinPlugin->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#4 /home/admin/domains/{DOMAIN}/public_html/magento53466888/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'dispatch', Object(Magento\Framework\App\FrontController\Interceptor), Array, 'front-controlle...')
#5 /home/admin/domains/{DOMAIN}/public_html/magento53466888/vendor/magento/module-page-cache/Model/App/FrontController/VarnishPlugin.php(55): Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Request\Http))
#6 /home/admin/domains/{DOMAIN}/public_html/magento53466888/vendor/magento/framework/Interception/Interceptor.php(142): Magento\PageCache\Model\App\FrontController\VarnishPlugin->aroundDispatch(Object(Magento\Framework\App\FrontController\Interceptor), Object(Closure), Object(Magento\Framework\App\Request\Http))
#7 /home/admin/domains/{DOMAIN}/public_html/magento53466888/var/generation/Magento/Framework/App/FrontController/Interceptor.php(26): Magento\Framework\App\FrontController\Interceptor->___callPlugins('dispatch', Array, Array)
#8 /home/admin/domains/{DOMAIN}/public_html/magento53466888/vendor/magento/framework/App/Http.php(135): Magento\Framework\App\FrontController\Interceptor->dispatch(Object(Magento\Framework\App\Request\Http))
#9 /home/admin/domains/{DOMAIN}/public_html/magento53466888/vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http->launch()
#10 /home/admin/domains/{DOMAIN}/public_html/magento53466888/index.php(39): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))
#11 {main}";s:3:"url";s:17:"/magento53466888/";s:11:"script_name";s:26:"/magento53466888/index.php";}

It's sort of like it needs setup:upgrade to have been run before it can run setup:upgrade.

 

I tried running 'php bin/magento setup:upgrade' from SSH without luck as well, though I only have a user login so perhaps it needs a root login. Install of 2.1.9 works fine so I don't think it's a requirements issue.

 

 

 

Re: run setup:upgrade from PHP script

You're right, you'll need to execute the command:

 

bin/magento setup:upgrade

As you said, also, sometime you need to run the command with the php prefix.

If you aren't able to execute the command with any of those options you should call your support to ask how you can perform the task.

Re: run setup:upgrade from PHP script

@Damian Culotta

Thanks for the reply, though my problem here is that I need to automate this procedure from a PHP script. I'm trying to find a way to run "bin/magento setup:upgrade" or "php bin/magento setup:upgrade" from within PHP.

 

Rowan.

 

Re: run setup:upgrade from PHP script

@Sumaleth

 

have you try my code

 

$k[1]='cache:status'; // need to pass 'setup:upgrade'

Problem solved? Click Kudos & Accept as Solution!
Sunil Patel
Magento 2 Certified Professional Developer & Frontend Developer

Re: run setup:upgrade from PHP script

@Sunil Patel

Yes, and the var/report entry was telling me to run "setup:upgrade" which didn't make much sense but I just spotted the ".htinstall.deleteme.log" log (which might be an Installatron log, or Magento, I'm not sure off hand) and that has different information now!

 

It tells me that there is a directory that doesn't have sufficient permissions to proceed, so that is why setup:upgrade wasn't being run.

--

So I have added a line that sets permissions on that directory and re-run it. It no longer gives the "setup:upgrade" error, so that is progress. But now at the very bottom of ".htinstall.deleteme.log" it says this:

 

Please re-run Magento compile comman

Which I assume to be "setup:di:compile", so I'm re-running the upgrade code with that performed directly after the "setup:upgrade".

 

--

I have tested that full process now and both steps appear to have run correctly however there is just one problem left with the Magento application. I'll describe the problem in a moment but first I'll paste the contents of ".htinstall.deleteme.log" that results from "setup:upgrade":

 

Cache cleared successfully
File system cleanup:
/home/admin/domains/testing.installatron.com/public_html/magento436346df/var/generation/Composer
/home/admin/domains/testing.installatron.com/public_html/magento436346df/var/generation/Magento
/home/admin/domains/testing.installatron.com/public_html/magento436346df/var/generation/Symfony
The directory '/home/admin/domains/testing.installatron.com/public_html/magento436346df/var/di/' doesn't exist - skipping cleanup
/home/admin/domains/testing.installatron.com/public_html/magento436346df/pub/static/_requirejs
/home/admin/domains/testing.installatron.com/public_html/magento436346df/pub/static/adminhtml
/home/admin/domains/testing.installatron.com/public_html/magento436346df/pub/static/deployed_version.txt
/home/admin/domains/testing.installatron.com/public_html/magento436346df/pub/static/frontend
/home/admin/domains/testing.installatron.com/public_html/magento436346df/var/view_preprocessed/css
/home/admin/domains/testing.installatron.com/public_html/magento436346df/var/view_preprocessed/html
/home/admin/domains/testing.installatron.com/public_html/magento436346df/var/view_preprocessed/source
Updating modules:
Schema creation/updates:
Module 'Magento_Store':
Module 'Magento_AdvancedPricingImportExport':
Module 'Magento_Directory':
Module 'Magento_Theme':
Module 'Magento_Backend':
Module 'Magento_Backup':
Module 'Magento_Eav':
Module 'Magento_Customer':
Module 'Magento_BundleImportExport':
Module 'Magento_CacheInvalidate':
Module 'Magento_AdminNotification':
Module 'Magento_Indexer':
Module 'Magento_CatalogImportExport':
Module 'Magento_Cms':
Module 'Magento_Rule':
Module 'Magento_Catalog':
Upgrading schema.. 
Module 'Magento_Search':
Module 'Magento_CatalogUrlRewrite':
Module 'Magento_Widget':
Module 'Magento_Quote':
Upgrading schema.. 
Module 'Magento_CheckoutAgreements':
Module 'Magento_SalesSequence':
Module 'Magento_CmsUrlRewrite':
Module 'Magento_Config':
Module 'Magento_ConfigurableImportExport':
Module 'Magento_Msrp':
Module 'Magento_Contact':
Module 'Magento_Cookie':
Module 'Magento_Cron':
Module 'Magento_CurrencySymbol':
Module 'Magento_Bundle':
Module 'Magento_CustomerImportExport':
Module 'Magento_Deploy':
Module 'Magento_Developer':
Module 'Magento_Dhl':
Module 'Magento_Authorization':
Module 'Magento_Downloadable':
Module 'Magento_ImportExport':
Module 'Magento_Payment':
Module 'Magento_Email':
Module 'Magento_User':
Module 'Magento_Fedex':
Module 'Magento_Sales':
Module 'Magento_CatalogInventory':
Module 'Magento_GoogleAnalytics':
Module 'Magento_Ui':
Module 'Magento_GroupedImportExport':
Module 'Magento_GroupedProduct':
Module 'Magento_DownloadableImportExport':
Module 'Magento_Checkout':
Module 'Magento_Security':
Module 'Magento_LayeredNavigation':
Module 'Magento_Marketplace':
Module 'Magento_MediaStorage':
Module 'Magento_CatalogRule':
Module 'Magento_Multishipping':
Module 'Magento_ConfigurableProduct':
Module 'Magento_Newsletter':
Module 'Magento_OfflinePayments':
Module 'Magento_SalesRule':
Module 'Magento_PageCache':
Module 'Magento_Captcha':
Module 'Magento_Vault':
Module 'Magento_Persistent':
Module 'Magento_ProductAlert':
Module 'Magento_ProductVideo':
Module 'Magento_Authorizenet':
Module 'Magento_Reports':
Module 'Magento_RequireJs':
Module 'Magento_Review':
Module 'Magento_Rss':
Module 'Magento_CatalogRuleConfigurable':
Module 'Magento_Paypal':
Module 'Magento_SalesInventory':
Module 'Magento_OfflineShipping':
Module 'Magento_GoogleAdwords':
Module 'Magento_SampleData':
Module 'Magento_CatalogSearch':
Module 'Magento_Integration':
Module 'Magento_SendFriend':
Module 'Magento_Shipping':
Module 'Magento_Sitemap':
Module 'Magento_NewRelicReporting':
Module 'Magento_Swagger':
Module 'Magento_Swatches':
Module 'Magento_SwatchesLayeredNavigation':
Module 'Magento_Tax':
Module 'Magento_TaxImportExport':
Module 'Magento_GiftMessage':
Module 'Magento_Translation':
Module 'Magento_GoogleOptimizer':
Module 'Magento_Ups':
Module 'Magento_UrlRewrite':
Module 'Magento_EncryptionKey':
Module 'Magento_Usps':
Module 'Magento_Variable':
Module 'Magento_Braintree':
Module 'Magento_Version':
Module 'Magento_Webapi':
Module 'Magento_WebapiSecurity':
Module 'Magento_Weee':
Module 'Magento_CatalogWidget':
Module 'Magento_Wishlist':
Schema post-updates:
Module 'Magento_Store':
Module 'Magento_AdvancedPricingImportExport':
Module 'Magento_Directory':
Module 'Magento_Theme':
Module 'Magento_Backend':
Module 'Magento_Backup':
Module 'Magento_Eav':
Module 'Magento_Customer':
Module 'Magento_BundleImportExport':
Module 'Magento_CacheInvalidate':
Module 'Magento_AdminNotification':
Module 'Magento_Indexer':
Running schema recurring...
Module 'Magento_CatalogImportExport':
Module 'Magento_Cms':
Module 'Magento_Rule':
Module 'Magento_Catalog':
Running schema recurring...
Module 'Magento_Search':
Module 'Magento_CatalogUrlRewrite':
Running schema recurring...
Module 'Magento_Widget':
Module 'Magento_Quote':
Module 'Magento_CheckoutAgreements':
Module 'Magento_SalesSequence':
Module 'Magento_CmsUrlRewrite':
Module 'Magento_Config':
Module 'Magento_ConfigurableImportExport':
Module 'Magento_Msrp':
Module 'Magento_Contact':
Module 'Magento_Cookie':
Module 'Magento_Cron':
Module 'Magento_CurrencySymbol':
Module 'Magento_Bundle':
Running schema recurring...
Module 'Magento_CustomerImportExport':
Module 'Magento_Deploy':
Module 'Magento_Developer':
Module 'Magento_Dhl':
Module 'Magento_Authorization':
Module 'Magento_Downloadable':
Module 'Magento_ImportExport':
Module 'Magento_Payment':
Module 'Magento_Email':
Module 'Magento_User':
Module 'Magento_Fedex':
Module 'Magento_Sales':
Module 'Magento_CatalogInventory':
Running schema recurring...
Module 'Magento_GoogleAnalytics':
Module 'Magento_Ui':
Module 'Magento_GroupedImportExport':
Module 'Magento_GroupedProduct':
Module 'Magento_DownloadableImportExport':
Module 'Magento_Checkout':
Module 'Magento_Security':
Module 'Magento_LayeredNavigation':
Module 'Magento_Marketplace':
Module 'Magento_MediaStorage':
Module 'Magento_CatalogRule':
Module 'Magento_Multishipping':
Module 'Magento_ConfigurableProduct':
Running schema recurring...
Module 'Magento_Newsletter':
Module 'Magento_OfflinePayments':
Module 'Magento_SalesRule':
Module 'Magento_PageCache':
Module 'Magento_Captcha':
Module 'Magento_Vault':
Module 'Magento_Persistent':
Module 'Magento_ProductAlert':
Running schema recurring...
Module 'Magento_ProductVideo':
Module 'Magento_Authorizenet':
Module 'Magento_Reports':
Running schema recurring...
Module 'Magento_RequireJs':
Module 'Magento_Review':
Module 'Magento_Rss':
Module 'Magento_CatalogRuleConfigurable':
Module 'Magento_Paypal':
Module 'Magento_SalesInventory':
Module 'Magento_OfflineShipping':
Module 'Magento_GoogleAdwords':
Module 'Magento_SampleData':
Module 'Magento_CatalogSearch':
Module 'Magento_Integration':
Running schema recurring...
Module 'Magento_SendFriend':
Module 'Magento_Shipping':
Module 'Magento_Sitemap':
Module 'Magento_NewRelicReporting':
Module 'Magento_Swagger':
Module 'Magento_Swatches':
Module 'Magento_SwatchesLayeredNavigation':
Module 'Magento_Tax':
Module 'Magento_TaxImportExport':
Module 'Magento_GiftMessage':
Module 'Magento_Translation':
Module 'Magento_GoogleOptimizer':
Module 'Magento_Ups':
Module 'Magento_UrlRewrite':
Module 'Magento_EncryptionKey':
Module 'Magento_Usps':
Module 'Magento_Variable':
Module 'Magento_Braintree':
Module 'Magento_Version':
Module 'Magento_Webapi':
Module 'Magento_WebapiSecurity':
Module 'Magento_Weee':
Running schema recurring...
Module 'Magento_CatalogWidget':
Module 'Magento_Wishlist':
Running schema recurring...
DDL cache cleared successfully
Data install/update:
Module 'Magento_Store':
Module 'Magento_AdvancedPricingImportExport':
Module 'Magento_Directory':
Module 'Magento_Theme':
Module 'Magento_Backend':
Module 'Magento_Backup':
Module 'Magento_Eav':
Module 'Magento_Customer':
Module 'Magento_BundleImportExport':
Module 'Magento_CacheInvalidate':
Module 'Magento_AdminNotification':
Module 'Magento_Indexer':
Module 'Magento_CatalogImportExport':
Module 'Magento_Cms':
Module 'Magento_Rule':
Module 'Magento_Catalog':
Upgrading data.. 
Module 'Magento_Search':
Module 'Magento_CatalogUrlRewrite':
Module 'Magento_Widget':
Module 'Magento_Quote':
Module 'Magento_CheckoutAgreements':
Module 'Magento_SalesSequence':
Module 'Magento_CmsUrlRewrite':
Module 'Magento_Config':
Module 'Magento_ConfigurableImportExport':
Module 'Magento_Msrp':
Module 'Magento_Contact':
Module 'Magento_Cookie':
Module 'Magento_Cron':
Module 'Magento_CurrencySymbol':
Module 'Magento_Bundle':
Module 'Magento_CustomerImportExport':
Module 'Magento_Deploy':
Module 'Magento_Developer':
Module 'Magento_Dhl':
Module 'Magento_Authorization':
Module 'Magento_Downloadable':
Module 'Magento_ImportExport':
Module 'Magento_Payment':
Module 'Magento_Email':
Module 'Magento_User':
Module 'Magento_Fedex':
Module 'Magento_Sales':
Module 'Magento_CatalogInventory':
Module 'Magento_GoogleAnalytics':
Module 'Magento_Ui':
Module 'Magento_GroupedImportExport':
Module 'Magento_GroupedProduct':
Module 'Magento_DownloadableImportExport':
Module 'Magento_Checkout':
Module 'Magento_Security':
Module 'Magento_LayeredNavigation':
Module 'Magento_Marketplace':
Module 'Magento_MediaStorage':
Module 'Magento_CatalogRule':
Module 'Magento_Multishipping':
Module 'Magento_ConfigurableProduct':
Module 'Magento_Newsletter':
Module 'Magento_OfflinePayments':
Module 'Magento_SalesRule':
Module 'Magento_PageCache':
Module 'Magento_Captcha':
Module 'Magento_Vault':
Module 'Magento_Persistent':
Module 'Magento_ProductAlert':
Module 'Magento_ProductVideo':
Module 'Magento_Authorizenet':
Module 'Magento_Reports':
Module 'Magento_RequireJs':
Module 'Magento_Review':
Module 'Magento_Rss':
Module 'Magento_CatalogRuleConfigurable':
Module 'Magento_Paypal':
Module 'Magento_SalesInventory':
Module 'Magento_OfflineShipping':
Module 'Magento_GoogleAdwords':
Module 'Magento_SampleData':
Module 'Magento_CatalogSearch':
Module 'Magento_Integration':
Module 'Magento_SendFriend':
Module 'Magento_Shipping':
Module 'Magento_Sitemap':
Module 'Magento_NewRelicReporting':
Module 'Magento_Swagger':
Module 'Magento_Swatches':
Module 'Magento_SwatchesLayeredNavigation':
Module 'Magento_Tax':
Module 'Magento_TaxImportExport':
Module 'Magento_GiftMessage':
Module 'Magento_Translation':
Module 'Magento_GoogleOptimizer':
Module 'Magento_Ups':
Module 'Magento_UrlRewrite':
Module 'Magento_EncryptionKey':
Module 'Magento_Usps':
Upgrading data.. 
Module 'Magento_Variable':
Module 'Magento_Braintree':
Module 'Magento_Version':
Module 'Magento_Webapi':
Module 'Magento_WebapiSecurity':
Module 'Magento_Weee':
Module 'Magento_CatalogWidget':
Module 'Magento_Wishlist':
Data post-updates:
Module 'Magento_Store':
Module 'Magento_AdvancedPricingImportExport':
Module 'Magento_Directory':
Module 'Magento_Theme':
Running data recurring...
Module 'Magento_Backend':
Module 'Magento_Backup':
Module 'Magento_Eav':
Module 'Magento_Customer':
Module 'Magento_BundleImportExport':
Module 'Magento_CacheInvalidate':
Module 'Magento_AdminNotification':
Module 'Magento_Indexer':
Module 'Magento_CatalogImportExport':
Module 'Magento_Cms':
Module 'Magento_Rule':
Module 'Magento_Catalog':
Module 'Magento_Search':
Module 'Magento_CatalogUrlRewrite':
Module 'Magento_Widget':
Module 'Magento_Quote':
Module 'Magento_CheckoutAgreements':
Module 'Magento_SalesSequence':
Module 'Magento_CmsUrlRewrite':
Module 'Magento_Config':
Module 'Magento_ConfigurableImportExport':
Module 'Magento_Msrp':
Module 'Magento_Contact':
Module 'Magento_Cookie':
Module 'Magento_Cron':
Module 'Magento_CurrencySymbol':
Module 'Magento_Bundle':
Module 'Magento_CustomerImportExport':
Module 'Magento_Deploy':
Module 'Magento_Developer':
Module 'Magento_Dhl':
Module 'Magento_Authorization':
Module 'Magento_Downloadable':
Module 'Magento_ImportExport':
Module 'Magento_Payment':
Module 'Magento_Email':
Module 'Magento_User':
Module 'Magento_Fedex':
Module 'Magento_Sales':
Module 'Magento_CatalogInventory':
Module 'Magento_GoogleAnalytics':
Module 'Magento_Ui':
Module 'Magento_GroupedImportExport':
Module 'Magento_GroupedProduct':
Module 'Magento_DownloadableImportExport':
Module 'Magento_Checkout':
Module 'Magento_Security':
Module 'Magento_LayeredNavigation':
Module 'Magento_Marketplace':
Module 'Magento_MediaStorage':
Module 'Magento_CatalogRule':
Module 'Magento_Multishipping':
Module 'Magento_ConfigurableProduct':
Module 'Magento_Newsletter':
Module 'Magento_OfflinePayments':
Module 'Magento_SalesRule':
Module 'Magento_PageCache':
Module 'Magento_Captcha':
Module 'Magento_Vault':
Module 'Magento_Persistent':
Module 'Magento_ProductAlert':
Module 'Magento_ProductVideo':
Module 'Magento_Authorizenet':
Module 'Magento_Reports':
Module 'Magento_RequireJs':
Module 'Magento_Review':
Module 'Magento_Rss':
Module 'Magento_CatalogRuleConfigurable':
Module 'Magento_Paypal':
Module 'Magento_SalesInventory':
Module 'Magento_OfflineShipping':
Module 'Magento_GoogleAdwords':
Module 'Magento_SampleData':
Module 'Magento_CatalogSearch':
Module 'Magento_Integration':
Module 'Magento_SendFriend':
Module 'Magento_Shipping':
Module 'Magento_Sitemap':
Module 'Magento_NewRelicReporting':
Module 'Magento_Swagger':
Module 'Magento_Swatches':
Module 'Magento_SwatchesLayeredNavigation':
Module 'Magento_Tax':
Module 'Magento_TaxImportExport':
Module 'Magento_GiftMessage':
Module 'Magento_Translation':
Module 'Magento_GoogleOptimizer':
Module 'Magento_Ups':
Module 'Magento_UrlRewrite':
Module 'Magento_EncryptionKey':
Module 'Magento_Usps':
Module 'Magento_Variable':
Module 'Magento_Braintree':
Module 'Magento_Version':
Module 'Magento_Webapi':
Module 'Magento_WebapiSecurity':
Module 'Magento_Weee':
Module 'Magento_CatalogWidget':
Module 'Magento_Wishlist':
Please re-run Magento compile command

And then "setup:di:compile":

 

 

Compilation was started.
%message% 0/7 [>---------------------------]   0% 1 sec 73.5 MiB%message% 0/7 [>---------------------------]   0% 1 sec 73.5 MiBProxies code generation... 0/7 [>---------------------------]   0% 1 sec 73.5 MiB
Proxies code generation... 1/7 [====>-----------------------]  14% 1 sec 77.2 MiB
Repositories code generation... 1/7 [====>-----------------------]  14% 1 sec 77.2 MiB
Repositories code generation... 2/7 [========>-------------------]  28% 12 secs 305.5 MiB
Service data attributes generation... 2/7 [========>-------------------]  28% 12 secs 305.5 MiB
Service data attributes generation... 3/7 [============>---------------]  42% 12 secs 306.5 MiB
Application code generator... 3/7 [============>---------------]  42% 12 secs 306.5 MiB
Application code generator... 4/7 [================>-----------]  57% 32 secs 331.2 MiB
Interceptors generation... 4/7 [================>-----------]  57% 32 secs 331.2 MiB
Interceptors generation... 5/7 [====================>-------]  71% 53 secs 379.8 MiB
Area configuration aggregation... 5/7 [====================>-------]  71% 53 secs 379.8 MiB
Area configuration aggregation... 6/7 [========================>---]  85% 2 mins 461.8 MiB
Interception cache generation... 6/7 [========================>---]  85% 2 mins 461.8 MiB
Interception cache generation... 7/7 [============================] 100% 2 mins 410.5 MiB
Generated code and dependency injection configuration successfully.

Both of those look okay and there's no indication of more processes to run.

 

--

So here is the remaining problem; when I load the app's URL into my web browser it automatically redirects to:

 

http://localhost/index.php/?SID=bli45u99q61v3nu8hvt3rfnbj5

And administration:

 

 

http://localhost/index.php/hgjdb3zo/?SID=bli45u99q61v3nu8hvt3rfnbj5

While that test install exists you can try the links here:

 

http://testing.installatron.com/magento53455346626/
http://testing.installatron.com/magento53455346626/index.php/hgjdb3zo

 

The .htaccess files are identical before and after the upgrade so it is Magento's core that is reloading the page. mod_rewrite is enabled. You can see the PHP configuration here:

http://www.testing.installatron.com/phpinfo.php

 

Do you know what might be causing this strange redirection?

 

Thanks again,

Rowan.