[Chameleon] Installation and Setup Questions...

Zak James zak4ms at gmail.com
Sun Jun 19 22:01:26 EDT 2005


Matthew,

Jacob is correct that your problem is related to the missing
dependency. You're getting that error because chameleon is falling
back to code that loads the module when it doesn't find it available
to php. dylib is the shared library extension that php picks up from
OS X. The best solution is to reconfigure and rebuild php with
--enable-dbase.

If you don't want to do that, you might find this page helpful:
http://www.kyngchaos.com/macosx/mapservinstall.php

zak

On 6/15/05, Matthew Roberson <matt at msileads.com> wrote:
> Hello,
> 
> I'm attempting to get chameleon running on OS X, and I am having a
> problem. I hope that somebody will be able to offer some helpful
> suggestions on how to resolve this problem.
> 
> The problem is:
> When I attempt to load
> http://localhost/chameleon/cwc2/cwc2.php?
> service=VCG&request=GetApplication&version=0.1.0
> 
> I get the following results:
> 
> Warning: dl(): Unable to load dynamic library
> '/usr/lib/php/extensions/no-debug-non-zts-20020429/php_dbase.dylib' -
> (null) in /usr/local/lib/chameleon/htdocs/common/mlt/mlt.php on line
> 251
> 
> Warning: dl(): Unable to load dynamic library
> '/usr/lib/php/extensions/no-debug-non-zts-20020429/php_dbase.dylib' -
> (null) in /usr/local/lib/chameleon/htdocs/common/mlt/mlt.php on line
> 251
> 
> I am running:
> MapServer version 4.4.1
> Apache/1.3.33 (Darwin)
> Chameleon version 2.2
> 
> I added the following to my httpd.conf file:
> 
> Alias /chameleon/admin "/usr/local/lib/chameleon/admin/htdocs"
> <Directory "/usr/local/lib/chameleon/admin/htdocs/">
>    AllowOverride None
>    Options Indexes FollowSymLinks Multiviews
>    Order allow,deny
>    Allow from all
> </Directory>
> 
> Alias /chameleon/docs "/usr/local/lib/chameleon/docs/html"
> <Directory "/usr/local/lib/chameleon/docs/html">
>    AllowOverride None
>    Options Indexes FollowSymLinks Multiviews
>    Order allow,deny
>    Allow from all
> </Directory>
> 
> Alias /chameleon/samples "/usr/local/lib/chameleon/samples/htdocs"
> <Directory "/usr/local/lib/chameleon/samples/htdocs">
>    AllowOverride None
>    Options Indexes FollowSymLinks Multiviews
>    Order allow,deny
>    Allow from all
> </Directory>
> 
> Alias /chameleon/cwc2/contexts "/usr/local/lib/chameleon/cwc2/contexts"
> <Directory "/usr/local/lib/chameleon/cwc2/contexts">
>    AllowOverride None
>    Options Indexes FollowSymLinks Multiviews
>    Order allow,deny
>    Allow from all
> </Directory>
> 
> Alias /chameleon/cwc2/templates
> "/usr/local/lib/chameleon/cwc2/templates"
> <Directory "/usr/local/lib/chameleon/cwc2/templates">
>    AllowOverride None
>    Options Indexes FollowSymLinks Multiviews
>    Order allow,deny
>    Allow from all
> </Directory>
> 
> Alias /chameleon/cwc2 "/usr/local/lib/chameleon/cwc2/htdocs"
> <Directory "/usr/local/lib/chameleon/cwc2/htdocs">
>    AllowOverride None
>    Options Indexes FollowSymLinks Multiviews
>    Order allow,deny
>    Allow from all
> </Directory>
> 
> Alias /chameleon "/usr/local/lib/chameleon/htdocs"
> <Directory "/usr/local/lib/chameleon/htdocs">
>    AllowOverride None
>    Options Indexes FollowSymLinks Multiviews
>    Order allow,deny
>    Allow from all
> </Directory>
> 
> My cwc2.xml file contains the following:
> <app-context>
>      <context-param>
>          <param-name>service_instance_path</param-name>
>          <param-value>http://localhost/chameleon/</param-value>
>          <description>This is the URL to chameleon.php.  You can use an
> alias (i.e. /chameleon/) or an absolute URL (i.e. http://).  Note that
> if you use a URL and set it to
> http://localhost/&lt;path-to-chameleon&gt; then the app won't work from
> remote machines.</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>server_data_path</param-name>
>          <param-value>/usr/local/lib/chameleon/cwc2/data/</param-value>
>          <description>This is where cached capabilities and other
> information, common to each session, should be. When a user start a new
> session, all files from that directory are copied to
> user_session_tmp_path</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>allow_upload_context</param-name>
>          <param-value>true</param-value>
>          <description>Enable use of remote contexts via the service
> instance TEMPLATE= URL parameter. (true or false).</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>allow_upload_template</param-name>
>          <param-value>true</param-value>
>          <description>Allow use of the 'TEMPLATE=' parameter when
> calling the CWC2 instance to specify any CWC2 HTML template url? (true
> or false)  If set to false then the value of 'default_template' config
> parameter is always used.</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>cache_template</param-name>
>          <param-value>true</param-value>
>          <description>If template come from a remote server
> (http://....), the template is download from that remote server and
> saved on local server for further loading. For performace, it is
> prefered to set this value to "true". If the remote server template is
> dynamic, this value should be set to "false" so the template will be
> loaded remotely every page load.</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>default_context</param-name>
> 
> <param-value>/usr/local/lib/chameleon/cwc2/contexts/world_context.xml</
> param-value>
>          <description>Default map context to load when starting this
> application</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>default_language</param-name>
>          <param-value>en-CA</param-value>
>          <description>The language code to use when no language is
> requested, normally this should match the language the default template
> was designed for.</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>default_template</param-name>
> 
> <param-value>/usr/local/lib/chameleon/cwc2/templates/sample_cwc2.html</
> param-value>
>          <description>Default HTML template to use with this CWC2
> instance.  Used when TEMPLATE= parameter not set, or when
> allow_upload_template config parameter is set to false.</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>context_root</param-name>
> 
> <param-value>/usr/local/lib/chameleon/cwc2/contexts/</param-value>
>          <description>Absolute root path to context files. All context
> should be in that folder (or sub folder).</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>context_maxsize</param-name>
>          <param-value>1000000</param-value>
>          <description>This is the context file max size that a CWC2 user
> can upload on the server</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>template_root</param-name>
> 
> <param-value>/usr/local/lib/chameleon/cwc2/templates/</param-value>
>          <description>Absolute root path to template files. All template
> should be in that folder (or sub folder).</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>fontlist_file</param-name>
> 
> <param-value>/usr/local/lib/chameleon/cwc2/etc/fonts.txt</param-value>
>          <description>Path and filename of the font list file used by
> MapServer (i.e. /path/to/file/fonts.txt ).</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>symbol_file</param-name>
> 
> <param-value>/usr/local/lib/chameleon/cwc2/etc/symbols.sym</param-
> value>
>          <description>Path and filename of the symbol file used by
> MapServer (i.e. /path/to/file/symbols.sym ).</description>
>      </context-param>
> </app-context>
> 
> 
> My chameleon.xml file contains:
> <app-context>
>      <context-param>
>          <param-name>web_server_path</param-name>
>          <param-value>%CHAMELEON_WEB_PATH%</param-value>
>          <description>This is the URL to chameleon.php.  You can use an
> alias (i.e. /chameleon/) or an absolute URL (i.e. http://).  Note that
> if you use a URL and set it to http://localhost/path-to-chameleon; then
> the app won't work from remote machines.</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>ows_schemas_location</param-name>
>          <param-value>http://ogc.dmsolutions.ca</param-value>
>          <description>URL pointing to the root of a repository of OGC
> schemas.  See http://ogc.dmsolutions.ca for an example.  You shouldn't
> need to change this unless you know why you would want
> to.</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>wms_parse_file</param-name>
> 
> <param-value>/usr/local/lib/chameleon/cwc2/htdocs/common/wmsparse/
> wmsparse</param-value>
>          <description>Full file path to the binary wms parser executable
> ('/path/to/wmsparse' on Unix, '/path/to/wmsparse.exe' on Windows).
> Leave empty to use the Chameleon C module if available (faster and
> brand new) or the built in PHP parser (slower and
> obsolete).</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>wms_connectiontimeout</param-name>
>          <param-value>30</param-value>
>          <description>Maximum time in seconds that MapServer will wait
> for an answer from a WMS server.</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>validate_template</param-name>
>          <param-value>true</param-value>
>          <description>Validate the attributes of each tag in the input
> template.  This should be set to true for debugging but may be set to
> false in a production environment to enhance performance.</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>default_language</param-name>
>          <param-value>en-CA</param-value>
>          <description>Default language specifier, for instance en-CA or
> fr-CA.</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>invalid_session_template</param-name>
>          <param-value></param-value>
>          <description>Template to display if session is
> invalid.</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>mapscript_module</param-name>
>          <param-value>php_mapscript_40.so</param-value>
>          <description>Mapscript module name (i.e. php_mapscript_40.dll
> for Windows installations or php_mapscript_40.so for Unix
> installations).</description>
>      </context-param>
> 
>      <context-param>
>        <param-name>image_type</param-name>
>        <param-value>AUTO</param-value>
>        <description>Output image type (eg: PNG, GIF). Must be uppercase.
> This image format MUST be supported by your browser and GD (on the
> server). Please don't change that value unless you know what you'r
> doing. The AUTO value will take the image_type from the mapfile you are
> loading.</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>button_cache_path</param-name>
>          <param-value>%BUTTON_CACHE_PATH%</param-value>
>          <description>Directory in which to write image files generated
> for buttons.  This directory must be writable by the web server user
> and web accessible.  For performance reasons, this directory should not
> be cleaned out automatically.</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>button_cache_web_path</param-name>
>          <param-value>%BUTTON_CACHE_WEB_PATH%</param-value>
>          <description>The URL where a browser can find cached button
> images.</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>tmp_web_path</param-name>
>          <param-value>%TMP_WEB_PATH%</param-value>
>          <description>URL where browser can find temporary files as
> context or images</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>tmp_img_path</param-name>
>          <param-value>%TMP_PATH%</param-value>
>          <description>Directory where temporary image files are
> put.</description>
>      </context-param>
> 
>      <context-param>
>          <param-name>execution_timeout</param-name>
>          <param-value>120</param-value>
>          <description>The amount of time in seconds to allow PHP to
> process a PHP page.  This includes (for now) the time required to draw
> remote WMS layers which can be lengthy.</description>
>      </context-param>
> 
>      <context-param>
>        <param-name>maturity_level</param-name>
>        <param-value>BETA</param-value>
>        <description>This option controls the widgets that will be
> available to chameleon applications.  Only widgets at or above the
> configured level will be accessible.  Levels in increasing order of
> maturity are: UNKNOWN, ALPHA, BETA, RELEASECANDIDATE, TECHNICALRELEASE,
> PRODUCTRELEASE.  See Chameleon documentation for a description of these
> maturity levels.  </description>
>      </context-param>
> 
>      <context-param>
>        <param-name>count_hits</param-name>
>        <param-value>false</param-value>
>        <description>This option allows you to keep track of the visitors
> to the site</description>
>      </context-param>
> </app-context>
> 
> Thanks,
> 
> Matt Roberson
> 
> _______________________________________________
> Chameleon mailing list
> Chameleon at lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/chameleon
> 


-- 
Zak James
Applications and Software Development
DM Solutions Group Inc.
http://www.dmsolutions.ca



More information about the Chameleon mailing list