I use and love Feed API but even though it works just like it is supposed to I get this error message:

warning: Illegal offset type in isset or empty in /html/includes/path.inc on line 65.
warning: Illegal offset type in /html/includes/path.inc on line 70.
warning: preg_match() expects parameter 2 to be string, array given in /html/includes/bootstrap.inc on line 761.

This message only appears on "feed" node type pages. It all seems to work. How do I get this message to go away?

Comments

regulo’s picture

Same problem here when trying to embed video following the tutorial:
Feed API + Emfield Screencast

* Could not refresh feed.
* warning: Illegal offset type in isset or empty in /home/dmlc/public_html/cms/includes/path.inc on line 65.
* warning: Illegal offset type in /home/dmlc/public_html/cms/includes/path.inc on line 70.
* warning: preg_match() expects parameter 2 to be string, array given in /home/dmlc/public_html/cms/includes/bootstrap.inc on line 771.

{detail: the third error is in line 771 now, and not 761}

regulo’s picture

PS: There are several online websites presenting the same error.

Any idea?

Thanks in advance.

aron novak’s picture

Status: Active » Postponed (maintainer needs more info)

does this message appear when only feedapi module is installed (without mapper, etc) ?

regulo’s picture

Hi Aron,

Thanks for your soon response.

Yes, it does. I have FeedAPI Mapper 6.x-1.0-beta7 installed, but if I disable that module the problem still happens.

If, FeedAPI Mapper is enabled (and then the Map tab appears as an oprion in the Feed node) if I dont define a mapping the problem happens also.

I don't know if something is not working or if it is me that is not undersading quite well the process.
For example: There is an item FeedAPI. Do we have to configure something there?
The above mentioned video-tutorial seems not to touch that option. But I see that there are oprions for choosing the parser/s, etc.

Additional info:
The problem happens when enabling the Common syndication parser 6.x-1.x-dev AND/OR the SimplePie parser 6.x-1.x-dev (simplepie.inc copied to feedapi/parser_simplepie)

Any help or reference to further study this matter is really appreciated

Regards and thank you for your time.

Anonymous’s picture

I'm also getting illegal offset warnings, but in my case, the nodes seem to be created because the PathAuto module is creating aliases for them, but when I go to the feed listing, there are no nodes, just errors.

warning: Illegal offset type in isset or empty in /home/health/public_html/includes/path.inc on line 65.
warning: Illegal offset type in /home/health/public_html/includes/path.inc on line 70.
warning: preg_match() expects parameter 2 to be string, array given in /home/health/public_html/includes/bootstrap.inc on line 771.
honigferd’s picture

I don't have the FeedAPI installed and am getting this error aswell:

warning: Illegal offset type in isset or empty in /httpdocs/includes/path.inc on line 65.
warning: Illegal offset type in /httpdocs/includes/path.inc on line 70.
warning: preg_match() expects parameter 2 to be string, array given in /httpdocs/includes/bootstrap.inc on line 771.
warning: preg_match() expects parameter 2 to be string, array given in /httpdocs/includes/bootstrap.inc on line 771.
robbt’s picture

I'm also getting this problem on every node now. If you google it you will find quite a few Drupal sites with this problem. I'm not sure how to diagnose it further.

robbt’s picture

So this problem is persistent on every node load for my site since FeedAPI was installed.
Although it usually just shows the warnings below.
# warning: Illegal offset type in isset or empty in /var/site/includes/path.inc on line 65.
# warning: Illegal offset type in /var/site/includes/path.inc on line 70.

It shows this when a feed is being created or viewed.
# warning: preg_match() expects parameter 2 to be string, array given in /var/site/includes/bootstrap.inc on line 771.
# warning: Illegal offset type in isset or empty in /var/site/includes/path.inc on line 65.
# warning: Illegal offset type in /var/site/includes/path.inc on line 70.

The odd thing I've noticed is that this is only showing up on every node load when I'm logged in as user 1.

When I create a feed it still shows up after the creation. It must have something to do with the permissions as I haven't granted the admin user any permissions to refresh or tinker with the feed settings.

So what other information can be brought up to make this make sense. I am using the dev version of FeedAPI but I also had this happening with the previous 1.6 version.

bluecafe’s picture

same error here after following the tutorial on feedapi and emfield .
Did anyone find a solution yet?



    * warning: Illegal offset type in isset or empty in /www/htdocs/w006ff6b/drupal/includes/path.inc on line 65.
    * warning: Illegal offset type in /www/htdocs/w006ff6b/drupal/includes/path.inc on line 70.
    * warning: preg_match() expects parameter 2 to be string, array given in /www/htdocs/w006ff6b/drupal/includes/bootstrap.inc on line 777.
    * warning: Illegal offset type in isset or empty in /www/htdocs/w006ff6b/drupal/includes/path.inc on line 65.
    * warning: Illegal offset type in /www/htdocs/w006ff6b/drupal/includes/path.inc on line 70.
    * warning: preg_match() expects parameter 2 to be string, array given in /www/htdocs/w006ff6b/drupal/includes/bootstrap.inc on line 777.


apb1991’s picture

Here is what I did. Because I could not get the error code to go away. I hid messages for feed types.

   <?php if (!empty($messages)): ?>
   <div class="top-content">
    <?php if ($node->type == feed): ?>
<?php if ($user->uid == 1): ?>
 <div class="messages"><?php print $messages; ?></div>
    <?php endif; ?>
<?php else: ?>
   <div class="messages">
   <?php print $messages; ?>
   </div>
     <?php endif; ?>
    </div>
    <?php endif; ?>
sreynen’s picture

This bug is generally caused by an array being passed to a function expecting a string. Unfortunately there are dozens (if not hundreds) of potential paths between FeedAPI and those low-level functions so the error messages don't help much in identifying the problem.

It would be great if someone experiencing this could turn on the devel module and enable backtrace errors to get a better idea of what's going on.

thinkyhead’s picture

One way I've seen this occur commonly is if node links are being added by some module using hook_link(). This causes the array issue to happen if a link having the same name already exists. In that event Drupal preserves both links as an array instead of having the new one supersede the old one. This array then gets passed around as the path component for the node link.

It seems the way to avoid it is not to try and override node links in hook_link(), but rather to use hook_link_alter(). If a link is supposed to appear all the time, or according to your own rule, then give your link a unique name. If it's supposed to supersede some other link then make that link hidden or remove it in hook_link_alter().

This problem can appear to be spurious because some links (like node_read_more) don't show up unless the teaser is shorter than the full node body. To prevent these kinds of errors from messing with your site's beauty, you can also add a rule like this to your Zen-based theme:

.not-logged-in .messages.error { display: none; }