123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- REQUIREMENTS
- MapieRSS requires a recent PHP 4+ (developed with 4.2.0)
- with xml (expat) support.
-
- Optionally:
- * PHP5 with libxml2 support.
- * cURL for SSL support
- * iconv (preferred) or mb_string for expanded character set support
-
- QUICK START
- Magpie consists of 4 files (rss_fetch.inc, rss_parser.inc, rss_cache.inc,
- and rss_utils.inc), and the directory extlib (which contains a modified
- version of the Snoopy HTTP client)
-
- Copy these 5 resources to a directory named 'magpierss' in the same
- directory as your PHP script.
-
- At the top of your script add the following line:
-
- require_once('magpierss/rss_fetch.inc');
-
- Now you can use the fetch_rss() method:
-
- $rss = fetch_rss($url);
-
- Done. That's it. See README for more details on using MagpieRSS.
- NEXT STEPS
- Important: you'll probably want to get the cache directory working in
- order to speed up your application, and not abuse the webserver you're
- downloading the RSS from.
-
- Optionally you can install MagpieRSS in your PHP include path in order to
- make it available server wide.
-
- Lastly you might want to look through the constants in rss_fetch.inc see if
- there is anything you want to override (the defaults are pretty good)
- For more info, or if you have trouble, see TROUBLESHOOTING
- SETTING UP CACHING
- Magpie has built-in transparent caching. With caching Magpie will only
- fetch and parse RSS feeds when there is new content. Without this feature
- your pages will be slow, and the sites serving the RSS feed will be annoyed
- with you.
-
- ** Simple and Automatic **
-
- By default Magpie will try to create a cache directory named 'cache' in the
- same directory as your PHP script.
-
- ** Creating a Local Cache Directory **
-
- Often this will fail, because your webserver doesn't have sufficient
- permissions to create the directory.
-
- Exact instructions for how to do this will vary from install to install and
- platform to platform. The steps are:
-
- 1. Make a directory named 'cache'
- 2. Give the web server write access to that directory.
-
- An example of how to do this on Debian would be:
-
- 1. mkdir /path/to/script/cache
- 2. chgrp www-data /path/to/script/cache
- 3. chmod 775 /path/to/script/cache
-
- On other Unixes you'll need to change 'www-data' to what ever user Apache
- runs as. (on MacOS X the user would be 'www')
-
- ** Cache in /tmp **
-
- Sometimes you won't be able to create a local cache directory. Some reasons
- might be:
-
- 1. No shell account
- 2. Insufficient permissions to change ownership of a directory
- 3. Webserver runs as 'nobody'
-
- In these situations using a cache directory in /tmp can often be a good
- option.
-
- The drawback is /tmp is public, so anyone on the box can read the cache
- files. Usually RSS feeds are public information, so you'll have to decide
- how much of an issue that is.
- To use /tmp as your cache directory you need to add the following line to
- your script:
-
- define('MAGPIE_CACHE_DIR', '/tmp/magpie_cache');
-
- ** Global Cache **
- If you have several applications using Magpie, you can create a single
- shared cache directory, either using the /tmp cache, or somewhere else on
- the system.
-
- The upside is that you'll distribute fetching and parsing feeds across
- several applications.
-
- INSTALLING MAGPIE SERVER WIDE
- Rather then following the Quickstart instructions which requires you to have
- a copy of Magpie per application, alternately you can place it in some
- shared location.
-
- ** Adding Magpie to Your Include Path **
- Copy the 5 resources (rss_fetch.inc, rss_parser.inc, rss_cache.inc,
- rss_utils.inc, and extlib) to a directory named 'magpierss' in your include
- path. Now any PHP file on your system can use Magpie with:
-
- require_once('magpierss/rss_fetch.inc');
- Different installs have different include paths, and you'll have to figure
- out what your include_path is.
-
- From shell you can try:
-
- php -i | grep 'include_path'
- Alternatley you can create a phpinfo.php file with contains:
-
- <?php phpinfo(); ?>
-
- Debian's default is:
-
- /usr/share/php
-
- (though more idealogically pure location would be /usr/local/share/php)
-
- Apple's default include path is:
-
- /usr/lib/php
-
- While the Entropy PHP build seems to use:
-
- /usr/local/php/lib/php
|