Upgrade problem

mrl586

Joined: 2009-05-07
Posts: 30
Posted: Thu, 2009-07-09 01:02

I try to update my gallery to latest git version, but the console prints the following (see attachment). I use newest stable php version (5.3.0).

AttachmentSize
gallery_upgrade.txt9.24 KB
 
calicarson
calicarson's picture

Joined: 2009-07-11
Posts: 3
Posted: Sat, 2009-07-11 04:45

I'm getting a similar problem when I try to upgrade via gallery3/index.php/upgrader:

So here's the error:
The page you requested, , could not be found.
File: system/core/Kohana.php, line: 841

And here's how we got there:
Kohana::show_404( )
system/core/Event.php [209]:
call_user_func_array( Array
(
[0] => Kohana
[1] => show_404
)
, Array
(
[0] =>
)
)
system/libraries/Router.php [163]:
Event::run( system.404 )
Router_Core::setup( )
system/core/Event.php [209]:
call_user_func_array( Array
(
[0] => Router
[1] => setup
)
, Array
(
[0] =>
)
)
system/core/Bootstrap.php [49]:
Event::run( system.routing )
index.php [72]:
require( system/core/Bootstrap.php )

 
mrl586

Joined: 2009-05-07
Posts: 30
Posted: Sun, 2009-07-12 12:59
mrl586 wrote:
I try to update my gallery to latest git version, but the console prints the following (see attachment). I use newest stable php version (5.3.0).

I include log file this message.

 
bharat
bharat's picture

Joined: 2002-05-21
Posts: 7994
Posted: Mon, 2009-07-13 04:11

mrl586: I'm guessing this is because of PHP 5.3.0. Let's dig into it. Try editing modules/gallery/helpers/module.php and on line 82, change:

        $modules->$module_name = new ArrayObject(parse_ini_file($file), ArrayObject::ARRAY_AS_PROPS);

to:

        $data = parse_ini_file($file);
        print_r(array($module_name, $data));
        $modules->$module_name = new ArrayObject($data, ArrayObject::ARRAY_AS_PROPS);

Then let's see the error message you get. That should give us an idea of which module's module.info file isn't getting parsed properly.
---
Problems? Check gallery3/var/logs
bugs/feature req's | upgrade to the latest code | use git | help! vote!

 
mrl586

Joined: 2009-05-07
Posts: 30
Posted: Mon, 2009-07-13 10:51

bharat: I see this text on upgrade page:

Array ( [0] => akismet [1] => Array ( [name] => Akismet [description] => Filter comments through the Akismet web service to detect and eliminate spam (http://akismet.com). You'll need a WordPress.com API key to use it. [version] => 1 ) ) Array ( [0] => comment [1] => )

And command line output looks like this:

root@localhost:/var/www/gallery3# php index.php upgrade
Array                                                                      
(                                                                          
    [0] => akismet                                                         
    [1] => Array                                                           
        (                                                                  
            [name] => Akismet                                              
            [description] => Filter comments through the Akismet web service to detect and eliminate spam (http://akismet.com).  You'll need a WordPress.com API key to use it.
            [version] => 1                                                                                                                                                     
        )                                                                                                                                                                      

)
Array
(    
    [0] => comment
    [1] =>        
)                 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>                                                           
    <style type="text/css">                                        
      body {                                                       
        background: #fff;                                          
        font-size: 14px;                                           
        line-height: 130%;                                         
      }                                                            

      div.big_box {
        padding: 10px;
        background: #eee;
        border: solid 1px #ccc;
        font-family: sans-serif;
        color: #111;            
        width: 42em;            
        margin: 20px auto;      
      }                         

      div#framework_error {
        text-align: center;
      }                    

      div#error_details {
        text-align: left;
      }                  

      code {
        font-family: monospace;
        font-size: 12px;       
        margin: 20px;          
        color: #333;           
        white-space: pre-wrap; 
        white-space: -moz-pre-wrap;
        word-wrap: break-word;     
      }                            

      h3 {
        font-family: sans-serif;
        margin: 2px 0px 0px 0px;
        padding: 8px 0px 0px 0px;
        border-top: 1px solid #ddd;
      }                            

      p {
        padding: 0px;
        margin: 0px 0px 10px 0px;
      }                          

      li, pre {
        padding: 0px;
        margin: 0px; 
      }              
    </style>         
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Something went wrong!</title>                                
  </head>                                                               
  <body>                                                                
            <div class="big_box" id="framework_error">                  
      <h1>                                                              
        Dang...  Something went wrong!      </h1>                       
      <h2>                                                              
        We tried really hard, but it's broken.      </h2>               
          </div>                                                        
        <div class="big_box" id="error_details">                        
      <h2>                                                              
        Hey wait, you're an admin!  We can tell you stuff.      </h2>   
      <script type="text/javascript">                                   
        var show_details = function() {                                 
          document.getElementById("stuff").style.display = "block";     
          document.getElementById("toggle").style.display = "none";     
        }                                                               
      </script>                                                         
      <a id="toggle" href="#" onclick="javascript:show_details(); return false;">
        <b>Ok.. tell me stuff!</b>                                               
      </a>                                                                       
      <div id="stuff" style="display: none">                                     
                <div id="summary">                                               
          <h3>                                                                   
            Help!          </h3>                                                 
          <p>                                                                    
            If this stuff doesn't make any sense to you, <a href="http://gallery.menalto.com/forum/96">ask for help in the Gallery forums</a>!          </p>
          <h3>
            So here's the error:          </h3>

          <code class="block">Passed variable is not an array or object, using empty array instead</code>
          <p>
            File: <b>modules/gallery/helpers/module.php</b>, line: <b>85</b>          </p>
        </div>

                                <div id="stack_trace">
          <h3>
            And here's how we got there:          </h3>
          <ul class="backtrace"><li><tt>modules/gallery/helpers/module.php <strong>[85]:</strong></tt><pre>ArrayObject->__construct(  )</pre></li>
<li><tt>modules/gallery/controllers/upgrader.php <strong>[64]:</strong></tt><pre>module_Core::available(  )</pre></li>
<li><pre>Upgrader_Controller->upgrade(  )</pre></li>
<li><tt>system/core/Kohana.php <strong>[291]:</strong></tt><pre>ReflectionMethod->invokeArgs( Upgrader_Controller Object
(
    [uri] =&gt; URI Object
        (
        )

    [input] =&gt; Input Object
        (
            [use_xss_clean:protected] =&gt; 1
            [magic_quotes_gpc:protected] =&gt; 1
            [ip_address] =&gt; 0.0.0.0
        )

)
 )</pre></li>
<li><pre>Kohana::instance(  )</pre></li>
<li><tt>system/core/Event.php <strong>[209]:</strong></tt><pre>call_user_func( Array
(
    [0] =&gt; Kohana
    [1] =&gt; instance
)
 )</pre></li>
<li><tt>system/core/Bootstrap.php <strong>[55]:</strong></tt><pre>Event::run( system.execute )</pre></li>
<li><tt>index.php <strong>[85]:</strong></tt><pre>require( system/core/Bootstrap.php )</pre></li></ul>                  </div>
      </div>
        </body>
</html>
 
bharat
bharat's picture

Joined: 2002-05-21
Posts: 7994
Posted: Mon, 2009-07-13 14:10

Ah ha! This is an issue in PHP 5.3 -- try the latest code I've put in a fix.
---
Problems? Check gallery3/var/logs
bugs/feature req's | upgrade to the latest code | use git | help! vote!