Announcement

Collapse
No announcement yet.

Perl Script Error

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Perl Script Error

    Hi,

    We are hosting our Actinic websites on 1and1 and they recently upgraded somethings on the server and this morning none of our Perl scripts are working.

    I get this error when I click on the Buy button:

    "script error: Can't locate al000001.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl . cgi-bin) at (eval 408) line 17, <$input> line 1581."

    How do I fix this problem? Will a full refresh or normal upload work to solve this problem, will be try a normal Upload on one website and see if it works.

    #2
    UPDATE: I found out that the Perl scripts aren't running on the server. They upgraded Perl to 5.10.1. So the test CGI scripts that actinic uploaded don't run via "Configure Web Site Details". It's finding the CGI-BIN and uploading a file, but can't execute it.

    Comment


      #3
      Have you checked that they haven't reset permissions on the cgi-bin folder? (should be 755)

      Comment


        #4
        I've got lots of test sites running on 1&1 Business / Linux and they seem to be running Perl OK with v5.10.1.

        I FTP'd the following into cgi-bin as printenv.pl and looked at www.mysite.com/cgi-bin/printenv.pl
        Code:
        #!/usr/bin/perl
        ##
        ##  printenv -- demo CGI program which just prints its environment
        ##
        
        print "Content-type: text/plain; charset=iso-8859-1\n\n";
        foreach $var (sort(keys(%ENV))) {
            $val = $ENV{$var};
            $val =~ s|\n|\\n|g;
            $val =~ s|"|\\"|g;
            print "${var}=\"${val}\"\n";
        }    
         
        ## And tell us something about Perl 
        $command=`perl -v`;
        print "\n\n";
        print $command;
        And back comes (along with lots of other info)
        This is perl, v5.10.1 (*) built for i486-linux-gnu-thread-multi
        (with 56 registered patches, see perl -V for more detail)
        Norman - www.drillpine.biz
        Edinburgh, U K / Bitez, Turkey

        Comment


          #5
          Originally posted by pieter View Post
          UPDATE: I found out that the Perl scripts aren't running on the server. They upgraded Perl to 5.10.1. So the test CGI scripts that actinic uploaded don't run via "Configure Web Site Details". It's finding the CGI-BIN and uploading a file, but can't execute it.
          Have you upgraded to a different hosting version, I moved over to dedicated hosting via managed hosting and found that neither of these work in the same way as 1and1 hosting.

          With the standard hosting accounts you can put the cgi-bin and acatalog in a folder under the root and it works fine, so I had a number of sub domains and the main domain in their own folders each with their own cgi-bin.

          With the managed and dedicated server offerings the cgi-bin is always on the root of the site even if you put your domain in a sub folder. I was using a lot of sub domains on my site and getting them to work on the new server caused me a few headaches until I realised the required solution.

          Malcolm

          SellerDeck Accredited Partner,
          SellerDeck 2016 Extensions, and
          Custom Packages

          Comment


            #6
            Here is an update to our issue. We contacted 1and one and this is what they said:

            "The issue was wrong syntax. You had added the line push (@INC, "cgi-bin"); but this directory does not exist

            I changed the line to:

            push (@INC, "/homepages/40/d*******/htdocs/cgi-bin");

            however , You uses a variable sPath in your script, and this gets set with function Init()

            Also, the script says that the Path /homepages/40/d*******/htdocs/cgi-bin
            is not within the sPath variable, so you need to add it to this variable too."


            now we get a general script error when accessing that script.

            I tried the printenv.pl script and it just returns "script error: Global symbol ....." etc.

            the scripts was working fine on Monday before the upgrade and then on Tuesday with the upgrade it stopped working.

            I tried running the "Configure Web Site Details" again but it still doesn't work.

            My CGI-BIN is sitting in the root directory of the site.

            Comment


              #7
              [UPDATE]
              This is what I get when I run the printenv.pl:

              script error: Global symbol "$var" requires explicit package name at (eval 408) line 7, <$input> line 17.
              Global symbol "$val" requires explicit package name at (eval 408) line 8, <$input> line 17.
              Global symbol "$var" requires explicit package name at (eval 408) line 8, <$input> line 17.
              Global symbol "$val" requires explicit package name at (eval 408) line 9, <$input> line 17.
              Global symbol "$val" requires explicit package name at (eval 408) line 10, <$input> line 17.
              Global symbol "$var" requires explicit package name at (eval 408) line 11, <$input> line 17.
              Global symbol "$val" requires explicit package name at (eval 408) line 11, <$input> line 17.
              Global symbol "$command" requires explicit package name at (eval 408) line 15, <$input> line 17.
              Global symbol "$command" requires explicit package name at (eval 408) line 17, <$input> line 17.

              Comment


                #8
                This is 1and1's response:

                "If your previous code no longer works following an upgrade, it is your responsibility to ensure that it is compatible with our configuration, not the other way around. Different Perl parameters and syntax may have changed with the upgrade to Apache2."

                We're on a dedicated managed server. I'm surprised no-one else has reported a problem - I know 1and1 host lots of Actinic sites.

                Comment


                  #9
                  We're on a dedicated managed server with 1and1 too. No problems. So far.
                  Reusable Snore Earplugs : Sample Earplugs - Wax Earplugs - Women's Earplugs - Children's Earplugs - Music Earplugs - Sleep Masks

                  Comment


                    #10
                    This is what I get when I run the printenv.pl
                    It may be worth checking with your server support people that a trivial cgi-bin script can in fact run. They should be able to supply you with a "Hello World" script to test with.
                    Norman - www.drillpine.biz
                    Edinburgh, U K / Bitez, Turkey

                    Comment


                      #11
                      A basic Hello World Script works fine, they also gave us a Info script that works, but it just prints info about the server. The actual scripts like the shopping cart and search scripts and anything pulling and pushing info doesn't work.

                      They have a script tester on the control panel called CGi Outpput Monitor, when you run the scripts in there they work fine as they execute on the server. but when you try and access it via a browser it doesn't work.

                      I'm starting to think they didn't setup Apche2 up correctly to execute global perl/cgi scripts.

                      I've even setup a new CGI-BIN folder with the same scripts and it still doesn't function.

                      Comment


                        #12
                        I've got the exact same problem, was this ever resolved?


                        Rgds, Tak.

                        Comment


                          #13
                          After lots of emails with 1and1, it's now resolved.

                          From the 1and1 control panel, I can see they've changed the Server Settings
                          - might be more to it than that, but it's now working.

                          Tak.

                          Comment

                          Working...
                          X