mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			143 lines
		
	
	
		
			No EOL
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			143 lines
		
	
	
		
			No EOL
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
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 |