I am trying to migrate a site that now runs on a hosting service that supplies CentOS v 6.8 to a VPS server running Ubuntu 16.04. I think I've done what I need to do, but when I navigate to the site on the new server, the site appears to just "hang"; I don't even get a WSOD, it just never comes back to me. Here is what I did:
- Successfully moved the DB, and installed mysql on the new server. I know that this worked because I can "see" the DB on my new server using RazorSQL
- Successfully FTP'd all of the files on the old server over to the new server. Again, I know that this was successful because I can "see" all of the files on the new server--either by ls'ing directories in putty or by the desktop interface on the new server.
- Prepared PHP on the new server. I suspect that this may be a major part of my difficulty. The old CentOS machine is running PHP 5.3.27, but that distro is not available for Ubuntu 16.04. I have tried PHP5.5, PHP5.6, PHP7.0, and PHP7.1. For each of these, I have installed the PHP extensions that Drupal needs; I'll be happy to provide a list if it would be useful.
- One of the ways that I know the new site is running is that I can run a little PHP script (phpinfo()) that shows me what is in the version of PHP that I'm running.
- Copied the .htaccess file that is on the drupal git site and put it into my base directory. I note that the version that is now on the drupal git site has some code that checks for PHP 5, but does not have anything for PHP 7.
- Modified my settings.php file to point to the new DB.
- Modified the apache2.conf file on the new server to AllowOverrides in the base directory of my site
After all of this, when I'm running PHP7.1 the site just appears to hang. I should add that when I run PHP 7.0 the behavior is slightly different. In that case, the site actually comes up, and brings up the log in window when I ask it to. However, when I complete logging in, I get a "Too many Page Redirects" message.
I have looked at apache2's error log; it does not show any errors when I'm running PHP7.1. On PHP7.0, which is the one that actually shows the home page, there are three (non-fatal) errors involving deprecated constructors in the views and backup_migrate modules.
Since I can't log on to the site, I cannot see any messages that Drupal is creating.
Any help or suggestions gratefully received.
Wyckham
Comments
Comment #2
wdseelig commentedComment #3
wdseelig commentedComment #4
wdseelig commentedComment #5
wdseelig commentedI figured out how to use RazorSQL to look at Drupal's error messages [in the watchdog table], and found out that Drupal was throwing a PDO Exception: Unable to find table image_dimensions. This is entirely reasonable since there is no table image_dimensions on the original site -- which works fine.
With this as a clue, I was able to find suggestion #11 here: https://www.drupal.org/node/1882292, used RazorSQL to create my own image_dimensions table, and lo and behold I can now log into my site on the new OS and PHP version.
If anybody could enlighten me as to why this new table was necessary when I moved the site to a new OS and PHP version, I would appreciate it, but I do not have time to follow this any further now.
Wyckham
Comment #6
cilefen commentedThis is not a Drupal core issue, from what I have seen. http://alexrayu.com/blog/missing-imagedimensions-table, #2170231: Table 'image_dimensions' not created on update, #1774888: PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'tctlocal.image_dimensions' doesn't exist:, and there are more duplicates.
Comment #7
wdseelig commentedComment #8
wdseelig commentedcilefen is clearly correct. Although when my site just "died" it sure looked like a core issue.
I have reclassified this to "Media" because apparently it is Media's File Entity module that causes the problem.