Subversion Repositories Applications.papyrus

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
770 florian 1
REQUIREMENTS
2
 
3
    MapieRSS requires a recent PHP 4+ (developed with 4.2.0)
4
    with xml (expat) support.
5
 
6
    Optionally:
7
      * PHP5 with libxml2 support.
8
      * cURL for SSL support
9
      * iconv (preferred) or mb_string for expanded character set support
10
 
11
QUICK START
12
 
13
    Magpie consists of 4 files (rss_fetch.inc, rss_parser.inc, rss_cache.inc,
14
    and rss_utils.inc), and the directory extlib (which contains a modified
15
    version of the Snoopy HTTP client)
16
 
17
    Copy these 5 resources to a directory named 'magpierss' in the same
18
    directory as your PHP script.
19
 
20
    At the top of your script add the following line:
21
 
22
        require_once('magpierss/rss_fetch.inc');
23
 
24
    Now you can use the fetch_rss() method:
25
 
26
        $rss = fetch_rss($url);
27
 
28
    Done.  That's it.   See README for more details on using MagpieRSS.
29
 
30
NEXT STEPS
31
 
32
    Important:  you'll probably want to get the cache directory working in
33
    order to speed up your application, and not abuse the webserver you're
34
    downloading the RSS from.
35
 
36
    Optionally you can install MagpieRSS in your PHP include path in order to
37
    make it available server wide.
38
 
39
    Lastly you might want to look through the constants in rss_fetch.inc see if
40
    there is anything you want to override (the defaults are pretty good)
41
 
42
    For more info, or if you have trouble, see TROUBLESHOOTING
43
 
44
SETTING UP CACHING
45
 
46
    Magpie has built-in transparent caching.  With caching Magpie will only
47
    fetch and parse RSS feeds when there is new content.  Without this feature
48
    your pages will be slow, and the sites serving the RSS feed will be annoyed
49
    with you.
50
 
51
** Simple and Automatic **
52
 
53
    By default Magpie will try to create a cache directory named 'cache' in the
54
    same directory as your PHP script.
55
 
56
** Creating a Local Cache Directory **
57
 
58
    Often this will fail, because your webserver doesn't have sufficient
59
    permissions to create the directory.
60
 
61
    Exact instructions for how to do this will vary from install to install and
62
    platform to platform.  The steps are:
63
 
64
    1.  Make a directory named 'cache'
65
    2.  Give the web server write access to that directory.
66
 
67
    An example of how to do this on Debian would be:
68
 
69
    1.  mkdir /path/to/script/cache
70
    2.  chgrp www-data /path/to/script/cache
71
    3.  chmod 775 /path/to/script/cache
72
 
73
    On other Unixes you'll need to change 'www-data' to what ever user Apache
74
    runs as. (on MacOS X the user would be 'www')
75
 
76
** Cache in /tmp **
77
 
78
    Sometimes you won't be able to create a local cache directory.  Some reasons
79
    might be:
80
 
81
    1.  No shell account
82
    2.  Insufficient permissions to change ownership of a directory
83
    3.  Webserver runs as 'nobody'
84
 
85
    In these situations using a cache directory in /tmp can often be a good
86
    option.
87
 
88
    The drawback is /tmp is public, so anyone on the box can read the cache
89
    files.  Usually RSS feeds are public information, so you'll have to decide
90
    how much of an issue that is.
91
 
92
    To use /tmp as your cache directory you need to add the following line to
93
    your script:
94
 
95
        define('MAGPIE_CACHE_DIR', '/tmp/magpie_cache');
96
 
97
** Global Cache **
98
 
99
    If you have several applications using Magpie, you can create a single
100
    shared cache directory, either using the /tmp cache, or somewhere else on
101
    the system.
102
 
103
    The upside is that you'll distribute fetching and parsing feeds across
104
    several applications.
105
 
106
INSTALLING MAGPIE SERVER WIDE
107
 
108
    Rather then following the Quickstart instructions which requires you to have
109
    a copy of Magpie per application, alternately you can place it in some
110
    shared location.
111
 
112
** Adding Magpie to Your Include Path **
113
 
114
    Copy the 5 resources (rss_fetch.inc, rss_parser.inc, rss_cache.inc,
115
    rss_utils.inc, and extlib) to a directory named 'magpierss' in your include
116
    path.  Now any PHP file on your system can use Magpie with:
117
 
118
        require_once('magpierss/rss_fetch.inc');
119
 
120
    Different installs have different include paths, and you'll have to figure
121
    out what your include_path is.
122
 
123
    From shell you can try:
124
 
125
        php -i | grep 'include_path'
126
 
127
    Alternatley you can create a phpinfo.php file with contains:
128
 
129
        <?php phpinfo(); ?>
130
 
131
    Debian's default is:
132
 
133
        /usr/share/php
134
 
135
    (though more idealogically pure location would be /usr/local/share/php)
136
 
137
    Apple's default include path is:
138
 
139
        /usr/lib/php
140
 
141
    While the Entropy PHP build seems to use:
142
 
143
        /usr/local/php/lib/php