unable to do POG update, or mod my objects! please help!

11 views
Skip to first unread message

lkasdorf

unread,
Jul 9, 2008, 12:48:17 PM7/9/08
to Php Object Generator
I'm working on a project that I last touched around June 6 2008. I
have created my objects using PHP 5.1 and the POG interface. My
hosting company (1and1) doesn't have a PDO driver for php 5.1 (last
time I checked) so I just use the POG driver for simplicity.

I tried modifying some of my objects today and was unable to- here is
the error I get:

Fatal error: Uncaught exception 'PDOException' with message 'could not
find driver' in C:\wamp\www\staley\objects\class.database.php:21 Stack
trace: #0 C:\wamp\www\staley\objects\class.database.php(21): PDO-
>__construct(':host=localhost...', 'root', '') #1 C:\wamp\www\staley
\objects\class.database.php(35): Database->Database() #2 C:\wamp\www
\staley\setup\setup_library\setup_misc.php(571): Database::Connect()
#3 C:\wamp\www\staley\setup\index.php(199):
TestStorageExists('contact', 'mysql') #4 {main} thrown in C:\wamp\www
\staley\objects\class.database.php on line 21

Now, this is interesting because I am not use PDO, as stated earlier.

So- I'm thinking something must have changed at the POG site. So maybe
I better do a POG update.

I revert to my previous versions of the objects I changed, run setup
and pog me up, and all goes well. So I'm back where I started- good.
Now, lets try POG update. I get a new blank page that says this:

"Warning: Call-time pass-by-reference has been deprecated; If you
would like to pass it by reference, modify the declaration of [runtime
function name](). If you would like to enable call-time pass-by-
reference, you can set allow_call_time_pass_reference to true in your
INI file in C:\wamp\www\staley\setup\setup_library\class.zipfile.php
on line 198

Fatal error: Class 'SoapClient' not found in C:\wamp\www\staley\setup
\setup_library\upgrade.php on line 117"

So- I am unable to move forward at all. Now, I see reference to POG 3.
How can I tell what version I'm currently using? Here is the link from
one of my objects:

http://www.phpobjectgenerator.com/?language=php5.1&wrapper=pog&objectName=contact&attributeList=array+%28%0A++0+%3D%3E+%27active%27%2C%0A++1+%3D%3E+%27job%27%2C%0A++2+%3D%3E+%27contract%27%2C%0A++3+%3D%3E+%27notes%27%2C%0A++4+%3D%3E+%27fname%27%2C%0A++5+%3D%3E+%27lname%27%2C%0A++6+%3D%3E+%27addr1%27%2C%0A++7+%3D%3E+%27addr2%27%2C%0A++8+%3D%3E+%27city%27%2C%0A++9+%3D%3E+%27state%27%2C%0A++10+%3D%3E+%27zip%27%2C%0A++11+%3D%3E+%27homephone%27%2C%0A++12+%3D%3E+%27workphone%27%2C%0A++13+%3D%3E+%27cellphone%27%2C%0A++14+%3D%3E+%27faxphone%27%2C%0A++15+%3D%3E+%27referredby%27%2C%0A++16+%3D%3E+%27rating%27%2C%0A++17+%3D%3E+%27email%27%2C%0A++18+%3D%3E+%27county%27%2C%0A++19+%3D%3E+%27type%27%2C%0A++20+%3D%3E+%27rate%27%2C%0A++21+%3D%3E+%27wcIssue%27%2C%0A++22+%3D%3E+%27wcExpire%27%2C%0A++23+%3D%3E+%27liabIssue%27%2C%0A++24+%3D%3E+%27liabExpire%27%2C%0A++25+%3D%3E+%27log%27%2C%0A++26+%3D%3E+%27company%27%2C%0A%29&typeList=array+%28%0A++0+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++1+%3D%3E+%27JOIN%27%2C%0A++2+%3D%3E+%27HASMANY%27%2C%0A++3+%3D%3E+%27LONGTEXT%27%2C%0A++4+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++5+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++6+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++7+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++8+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++9+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++10+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++11+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++12+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++13+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++14+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++15+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++16+%3D%3E+%27INT%27%2C%0A++17+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++18+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++19+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++20+%3D%3E+%27VARCHAR%28255%29%27%2C%0A++21+%3D%3E+%27DATE%27%2C%0A++22+%3D%3E+%27DATE%27%2C%0A++23+%3D%3E+%27DATE%27%2C%0A++24+%3D%3E+%27DATE%27%2C%0A++25+%3D%3E+%27BELONGSTO%27%2C%0A++26+%3D%3E+%27VARCHAR%28255%29%27%2C%0A%29

HELP!

Lynn Kasdorf


Joel

unread,
Jul 9, 2008, 1:09:26 PM7/9/08
to Php Object Generator
Hi,

I've looked into your issue. Seems that there is a problem on our end.
The problem was probably introduced this week, when our servers were
upgraded to PHP 5...

I'll first answer your question "Now, I see reference to POG 3.How can
I tell what version I'm currently using?". The version is stored in
the phpdoc of your object @version

The problem is two fold:

problem 1
- you can't update your objects using POG update because the soap
server that is in your config file is now invalid. You need to change
it to
http://www.phpobjectgenerator.com/services/pog.wsdl

- Even after changing this value, it seems that POG update will not
work since the soap library doesn't seem to work on your developer
machine (which leads me to think that POG update never worked for you)

problem 2:
- you are correct. doing a manual update also seems to be broken
(using the @link you provided). This is a problem on our end because
it seems to always generate objects using the PDO driver for PHP 5.1..
I'm going to fix this ASAP on our servers and let you know.

Will follow up with an email shortly.

sorry for any inconvenience.
> http://www.phpobjectgenerator.com/?language=php5.1&wrapper=pog&object...
>
> HELP!
>
> Lynn Kasdorf

lkasdorf

unread,
Jul 9, 2008, 1:26:48 PM7/9/08
to Php Object Generator
Yup - you are right- I've never tried POG update- I was always afraid
(if it ain't broke, don't fix it).

Also- I think I have run into a flaw in my "process". When I update an
object, I place the zip file at the root of my project, then unzip
"here" which overwrites that object in the objects folder, as well as
the configuration.php file. I always open the configuration.php file
in an editor, expand the zip, revisit the editor and I do not reload
configuration.php. I then save as to write my configuration.php back
out. This is to save me the hassle of having to modify the file with
my server creds and plugin path every time I regen an object.

It appears to have bitten me this time because I end up throwing away
other changes to the configruation.php file that POG puts in there,
like when there is a version update.

So- this is likely the source of my initial error at least. However,
I'll wait for you to do whatever you are planning on your end.

It would be really cool if there was an ini file or something that I
could place my database creds and plugin path info into, and then
setup could read that and adjust the configuration file when it does
the pog me up stage. Or something like that.

I see that my objects are currently on POG version 3.0d.

Thanks for the great work, Joel and the quick reply.

On Jul 9, 1:09 pm, Joel <joel...@gmail.com> wrote:
> Hi,
>
> I've looked into your issue. Seems that there is a problem on our end.
> The problem was probably introduced this week, when our servers were
> upgraded to PHP 5...
>
> I'll first answer your question "Now, I see reference to POG 3.How can
> I tell what version I'm currently using?". The version is stored in
> the phpdoc of your object @version
>
> The problem is two fold:
>
> problem 1
> - you can't update your objects using POG update because the soap
> server that is in your config file is now invalid. You need to change
> it tohttp://www.phpobjectgenerator.com/services/pog.wsdl

Joel

unread,
Jul 9, 2008, 2:25:15 PM7/9/08
to Php Object Generator
Hi Lynn,
you should be able to update your objects manually now. It should
generate the correct database file for non-pdo objects.

The config file overwrite has been a longstanding issue, which we've
failed to address for too long. we'll address this asap. Essentially,
what will happen is that the default config file which comes from pog
will be named configuration.default.php . This way, it is up to the
user to decide if they want to override their current config file.

Let me know if you're able to update your files using Method #2
(manual update)

If you need help setting up Method #1 (pog update), please let me know

thanks

lkasdorf

unread,
Jul 9, 2008, 2:41:56 PM7/9/08
to Php Object Generator
Joel-
I looked at my hosting company again, and they have now implemented
the mysql PDO driver. So, I'm moving to PDO. Yay!
I have converted my objects to 5.1 & PDO, and added my field changes,
and it all works.

However, it is a good thing that you have fixed the PHP 5.1 and POG
wrapper combination. I may have to go back to this for other clients
servers.

Now, regarding POG update, I am indeed confused.

Why does the generated configuration.php file have the address for the
wrong wsdl file?

I can manually update it, but I don't know what to update. At the top
I see:
$configuration['soap'] = "http://www.phpobjectgenerator.com/services/
soap.php?wsdl";

Are you saying that this should become:
http://www.phpobjectgenerator.com/services/pog.wsdl

I have set it to this, run setup and pog me up, then "POG update". I
still get this:
------------------
Warning: Call-time pass-by-reference has been deprecated; If you would
like to pass it by reference, modify the declaration of [runtime
function name](). If you would like to enable call-time pass-by-
reference, you can set allow_call_time_pass_reference to true in your
INI file in C:\wamp\www\staley\setup\setup_library\class.zipfile.php
on line 198

Fatal error: Class 'SoapClient' not found in C:\wamp\www\staley\setup
\setup_library\upgrade.php on line 117
-------------------
Where have I screwed up?

Thanks!
Lynn Kasdorf

lkasdorf

unread,
Jul 9, 2008, 2:46:09 PM7/9/08
to Php Object Generator
Regarding configuration, it seems to me that a simple solution would
be to use two config files.

Have one config file that contains the user's settings (db name,
signon name, password, plugin path, etc). Call it something like
"userconfig.php". Then, your generated configuration.php would include
this file. This way, I could regen objects and my personal settings
would never get overwritten.

my $.02

Joel

unread,
Jul 9, 2008, 2:50:17 PM7/9/08
to Php Object Generator
Hi Lynn, see my comments below

On Jul 9, 12:41 pm, lkasdorf <ironandst...@gmail.com> wrote:
> Joel-
> I looked at my hosting company again, and they have now implemented
> the mysql PDO driver. So, I'm moving to PDO. Yay!
> I have converted my objects to 5.1 & PDO, and added my field changes,
> and it all works.
>
> However, it is a good thing that you have fixed the PHP 5.1 and POG
> wrapper combination. I may have to go back to this for other clients
> servers.
>
> Now, regarding POG update, I am indeed confused.
>
> Why does the generated configuration.php file have the address for the
> wrong wsdl file?
>

It's a bug that's being fixed as we speak. It should and will say
http://www.phpobjectgenerator.com/services/pog.wsdl
by default.

> I can manually update it, but I don't know what to update. At the top
> I see:
> $configuration['soap'] = "http://www.phpobjectgenerator.com/services/
> soap.php?wsdl";
>
> Are you saying that this should become:http://www.phpobjectgenerator.com/services/pog.wsdl
>

Yes

> I have set it to this, run setup and pog me up, then "POG update". I
> still get this:
> ------------------
> Warning: Call-time pass-by-reference has been deprecated; If you would
> like to pass it by reference, modify the declaration of [runtime
> function name](). If you would like to enable call-time pass-by-
> reference, you can set allow_call_time_pass_reference to true in your
> INI file in C:\wamp\www\staley\setup\setup_library\class.zipfile.php
> on line 198
>
> Fatal error: Class 'SoapClient' not found in C:\wamp\www\staley\setup
> \setup_library\upgrade.php on line 117
> -------------------
> Where have I screwed up?
>

Correct. As I was saying before, it looks like your dev machine does
not have phpsoap extension installed or enabled, which will make it
hard to do an automatic POG update. It's not impossible, but it would
require some tinkering. i'll try to post something on the subject on
the blog soon.


Hope this helps.

thanks

> Thanks!
> Lynn Kasdorf

lkasdorf

unread,
Jul 9, 2008, 3:12:53 PM7/9/08
to Php Object Generator

>
> Correct. As I was saying before, it looks like your dev machine does
> not have phpsoap extension installed or enabled, which will make it
> hard to do an automatic POG update. It's not impossible, but it would
> require some tinkering. i'll try to post something on the subject on
> the blog soon.
>
> Hope this helps.

Joel- I just now edited my php.ini file and uncommented the line:
extension=php_soap.dll

Now, when I run POG update, I get an alert telling me that my objects
are up to date (makes sense), but I still get the following error:
----------
Warning: Call-time pass-by-reference has been deprecated; If you would
like to pass it by reference, modify the declaration of [runtime
function name](). If you would like to enable call-time pass-by-
reference, you can set allow_call_time_pass_reference to true in your
INI file in C:\wamp\www\staley\setup\setup_library\class.zipfile.php
on line 198
----------
Not a show stopper, but something is still amiss (on my end
apparently). I am running Wampserver 2.0 on XP.
FYI

Lynn

Joel

unread,
Jul 9, 2008, 4:29:52 PM7/9/08
to Php Object Generator
Looks like it's almost working flawlessly.

Since this is only a warning, we can try to supress it or we'll
refactor the code so it doesn't pass args by reference.

This one will get in the queue of items to address, but thanks for
your input.

regards
Reply all
Reply to author
Forward
0 new messages