New version has crashed multiple sites
-
The update this morning has taken down five of our sites, across various hosts:
It’s a 500 Error, with WP_DEBUG showing:Parse error: syntax error, unexpected ‘[‘, expecting ‘)’ in /home/…/public_html/blog/wp-content/plugins/sendgrid-email-delivery-simplified/lib/sendgrid/sendgrid-api-v3.php on line 37
-
Same here
[Tue Apr 18 10:24:13 2017] [error] [client 162.158.126.66] PHP Parse error: syntax error, unexpected ‘[‘, expecting ‘)’ in …/wp-content/plugins/sendgrid-email-delivery-simplified/lib/sendgrid/sendgrid-api-v3.php on line 37
Same Thing.
I’m also having the same issue on one of my sites and had to deactivate the plugin so the site isn’t down.
We have a client using this plugin on standard shared hosting and they are using PHP 5.3.4 and it seems like the way the new API code is using arrays might be invalid for PHP 5.3.4.
I am trying to update the PHP on my server but in the interim I edited the code in
lib/sendgrid/sendgrid-api-v3.php
and everywhere a function was doing something like:
return array_filter(
[
‘my_fake_key’ => ‘my_fake_value’
]
);
I changed it to an array syntax that is valid in 5.3.4:
return array_filter(
array(
‘my_fake_key’ => ‘my_fake_value’
)
);
If you don’t want to edit plugin code– and you really shouldn’t ever– then I just renamed the plugin folder through FTP to something hidden and then reinstalled an older version of the plugin (1.10.8) through wp-cli if you are comfortable with that.
Otherwise, contact your web hosting provider and see if they can upgrade your PHP to version 5.4.
- This reply was modified 7 years, 7 months ago by shorelinechrism.
Hello.
We’re sorry that this update has caused issues on your websites. We have updated the Upgrade Notice for the plugin to clearly state that this plugin no longer supports PHP versions earlier than 5.6.
We did not believe any of our users still used PHP 5.3 since it has been deprecated for more than 2 years. Please refer to https://php.net/supported-versions.php
Wordpress does not provide us with data regarding which versions of PHP our users have installed. However, we strongly urge you to update your PHP version since you may be exposing your website and your clients to security vulnerabilities.
This update was necessary since the V2 SendGrid API used by this plugin will be deprecated in the future. Now the plugin will use the V3 SendGrid API.
Thank you,
SendGridThat’s not a great answer. What I’m hearing is: “Sorry we broke all of your sites, but it’s not our problem. Go use Mandrill instead.”
Is that about right?
Aabaco (Yahoo Small Biz) is running 5.3.6. I can’t be the only one with a WordPress blog hosted by Aabaco. By eliminating backward compatability for earlier versions of PHP you have not only crashed our sites, locked us out of our WordPress dashboards, but when we finally are able to get in using a file manager or ftp to rename plugin folder and restore access, we are left with another upgrade to the plugin that we can’t use. Please, tell us how to obtain and install a functional earlier version of the Sendgrid plugin or fix the plug-in to be backward PHP compatible.
GoDaddy standard hosting only offers two PHP versions: 5.3 and 5.4. I definitely think this plugin should support at least 5.4. I see it on a lot of shared hosts which many small business WordPress sites are on. The main issues I saw were with array syntax but i didn’t do any unit tests.
I’m inclined to believe 5.3 and 5.4 usage combined is not negligible.
@alanyatvin If you have access to SSH (you can turn it on in cpanel, possibly if its not active already), you can login through ssh using Putty or in a bash shell and install WP-CLI which is a command line wordpress tool.
Using WP-CLI you can install specific versions of a plugin so I would just move the current plugin:
cd ~/public_html/wp-content/plugins && mv sendgrid-email-delivery-simplified .sendgrid-email-delivery-simplified
so that it’s hidden and then install the last version that worked– I used 1.10.8 since that still had a security fix:wp plugin install --activate sendgrid-email-delivery-simplified --version=1.10.8
If you can’t or won’t get in through SSH or use wp-cli ask yahoo if there’s a way to update your PHP. I was able to do it through cpanel– mine is working fine for now using 5.4 even though Sendgrid says it won’t support PHP < 5.6.
Thanks, @shorelinechrism. Unfortunately, your recommendations are so far beyond my skill set that even after googling some of the terminology, I still don’t know how to tackle your script.
I did reach out to Aabaco (Yahoo) about this problem, but I am not optimistic about a meaningful short term response, if at all. For the time being, the ball is really back in Sendgrid’s court to give us a fix for the near term. As you note, at least two very large hosting providers Abaaco and GoDaddy do not have the version of PHP needed for Sendgrid Plugin 1.11.1
If anyone needs a previous version that works with PHP 5.3, you can get one easily, as follow:
- Go to https://www.ads-software.com/plugins/sendgrid-email-delivery-simplified/advanced/
- Select version 1.10.9 or 1.10.8 (I can’t remember which of the two still supported PHP 5.3) and click on the “Download” button.
- Remove the SendGrid plugin you have on the site. If your site crashed, you might have to do it via FTP.
- Install the plugin you donwloaded at step #2.
- If needed, configure the SendGrid plugin again.
Our knowledge base contains an article with step by step instructions to update a plugin manually. It was written for our premium plugins, but the steps are applicable to any plugin: Aelia Knowledge Base – How to manually update a plugin.
@team-rs if I may, I would like to share a personal opinion. Dropping support for PHP < 5.6 is not necessarily a good idea. It’s a known fact that many hosting providers are very late adopters, and that there are plenty of sites running on PHP 5.3, or even 5.2 (WordPress itself can still run on PHP 5.2, if I’m not mistaken).
If you are set in going “PHP 5.6+ only”, at least you should add a requirement checking mechanism to the plugin, so that it won’t crash the site when activated. This is what we did with our plugins: they require at least PHP 5.3, and they notify the user if the installed version is too old, without causing issues. Users just have to upgrade PHP, and get everything back on track, without any downtime.
- This reply was modified 7 years, 7 months ago by Diego.
If on WordPress install the excellent free plugin called “WP Rollback”. Then rollback to version 1.10.9 which is the last version that seems to work on PHP 5.5.x or older.
@team-rs: what the heck, eh? Tons of excellent and secure WordPress sites are on PHP5.5.x or older.
Hello.
We have to apologize for any inconvenience this may have caused you. We have retroactively modified the code to no longer break sites in all 1.11.x versions when using PHP 5.3.
We have also relaxed the PHP version requirements to at least 5.4. However we still encourage you to update your PHP version or use a hosting provider that offers at least PHP 5.6.
If you still want to use the SendGrid plugin with older versions of PHP, please download the 1.10.9 version from this page:
https://www.ads-software.com/plugins/sendgrid-email-delivery-simplified/advanced/There is a select option there, select 1.10.9 and click Download. You need to overwrite the content from <your_website_directory>/wp-content/plugins/sendgrid-email-delivery-simplified/.
Other installation alternatives like wp-cli were described by users in this thread. We offer our thanks to them.
Please understand that using versions of PHP for which security update support has ended exposes your website and your clients to security vulnerabilities.
We would also recommend against updating live websites. WordPress website owners should test updates in separate environments before updating in production environments.
If you encounter any issues please open new support threads.
Thank you,
SendGridawesome! thanks for the quick response.
@team-rs Appreciate that you did something, but I think maybe SendGrid is abrogating its responsibility. It is too glib to lecture us about security and updating PHP versions. You ignore the reality that many of us are not self-hosting and thus are held hostage to our providers like Aabaco (Yahoo Small Biz) or GoDaddy. Considering the size of these providers and the number of sites and blogs they host, maybe the better answer is for SendGrid to be reaching out to the big guys and advocating for timely PHP updates. The flip side of that is that perhaps SendGrid should be thinking about the reality of the environment in which its users find themselves, before slamming the door on them.
As for recommendation against updating live sites, perhaps you assume a level of sophistication that is by no means universal. Some of us, like me, are using simple themes and straightforward plugins, because we lack the skill or time to get into the weeds. Which is why when we routinely click in the WordPress dashboard to update a previously active and effective plugin, we rely on that plugin’s publisher to have truly done sophisticated compatibility testing. This is all the more the case when the publisher knows its plugin is, by design, not backward compatible with something as key as PHP.
Don’t get me wrong, I think SendGrid is a great product. It has liberated me from Yahoo’s ridiculously low daily send rates and its complicated, only sporadically reliable, workarounds, and given me access to so much useful data. The first time I posted after installing the SendGrid plugin, I literally got my fat butt out of the chair and danced at how easy and effective it was. So I am absolutely a fan and appreciate every benefit. I’m just saying that you gotta keep us old nags in mind when you are designing for the race horses.
Thanks, Alan
- The topic ‘New version has crashed multiple sites’ is closed to new replies.