I'm using
Red Hat 7.2
Apache 1.3.20
PHP 4.1.1

I want to compile in the support for Payflow Pro and have downloaded the SDK available from verisign (NB I can't see any beta version on their site)

./configure works OK, but at make, I get the following errors:

/usr/bin/ld: cannot find -lpfpro
collect2: ld returned 1 exit status
make[1]: [libphp4.la] Error 1
make[1]: Leaving directory `/usr/local/src/php-4.1.1'
make:
[all-recursive] Error 1

I have searched for a solution but have not found any so far and would really appreciate any help

Josiah Mugambi
Kenya

    Sounds like you need to do a ldconfig, i think. but i'm no expert. just another coder wandering around in the dark.

    -danny

      • [deleted]

      i had tried that earlier and had put a line in /etc/ld.so.conf and rerun ldconfig but it didn't work.
      I'm now thinking of using perl instead of php

        About the Beta,

        alot of the information here on verisign is out of date. i wish that weren't true, but it is.

        i wish i could switch languages, but it's too late for that now. you could make your own wrapper around the pfpro.exe. it wouldn't be as safe as a compiled in library, but it is feasible. I've been kicking that idea around, but am afraid of security issues...

        -danny

          • [deleted]

          I was thinking of doing that also -but it's true:security is an issue, but no harm playing around first...

            • [deleted]

            I tried this and it worked -

            after putting an entry pointing to the library in /etc/ld.so.conf

            after running ./configure

            I edited config_vars.mk and inserted
            EXTRALIBS -> -L/path/to/pfpro/lib/

            and continued with make

            actually, this solved other problems i had with
            error 1 cannot find -lmysqlclient

            and simliar errors

            Josiah

              I'm trying it now. Hopefully it works. This is what a verisign tech sent me the other day, but it didn't solve my issues...

              <snip>

              Be sure to copy libpfpro.so to you /usr/local/lib directory. Also, pfpro.h
              and the pfpro need to be copied to your include and bin paths respectively.
              Finally, when you compile php, be sure to include the following in your
              configuration:

              --with pfpro=shared,/path/to/pfpro

              The shared switch here is important, and must be included.

              <snip>

              hopefully this modified make file will help me... i'll update again later...

                hmm that didn't help me. it compiled fine, but when i ran pfpro_process() it gave me a fatal error: undefined function.

                strange. I'm going to try the tip that's on php.net's page now...

                http://www.php.net/manual/en/ref.pfpro.php

                but it seems that i need to get a newer version of libtool when i try to do a ./buildconf.

                now i've never messed with libtool before, at least not without knowing about it. if i build and install libtool 1.4.2, do i need to change any configs? will i be able to compile just like i was able to before with the older version? Yeah, I have no idea what libtool is, nor how it functions, nor how it interacts with anything...

                  Hey Dan and others,

                  I tried the procedure of modifying the config.m4 file per the reference at
                  http://www.php.net/manual/en/ref.pfpro.php, and then ran ./buildconf, make distclean etc., and then proceeded to recompile php....this seemed to not make things happy...🙁 And Dan, yes the same thing happened to me with the ./configure --with-pfpro=shared,/path/path/path

                  Everything compiled fine....but the functions were not available.

                  I have almost given up on using this extension, but I would love to see it work!

                  Anyway, talked with Verisign today.....I have been testing the pfpro binary by command line and I keep receiving a User Authentication Failed error response....and my parameters were indeed correct after talking with a representative at Verisign....hrmmmm...can you guys get a result of 0 back? I have not as of yet.....

                  The lady I talked with recommended Andy (who seems to be the Linux guy at Verisign) (888) 847-2747 ext. 3626...so i will most likely visit with him shortly.....

                  Anyway, they gave me a case number and said they would get back to me....

                  Verisign also sent me this link to a php include file....I have seen this before, but dont know if this would be useful or not.....

                  ftp://ftp.thinkingman.org/pub/php/php_pfpro.zip

                  What do you guys think?

                    Hey Carl...

                    I can get a 0 from the pfpro binary when i run it from a command line. Actually any positive number is good too, since it means you've actually reached the verisign servers.

                    I've seen the include files. I have been thinking of using them. but it's still a hack, a good hack but a hack. In so being, anyone with a telnet session could take a peek at the credit card information. Which I believe is unacceptable. I've also been thinking of just using perl for the payment processes that I need only. which is another round about way of doing things.

                    I've been sending Andy emails, and I'm sure he has a lot of those coming his way.

                    Josiah, can you give me a break down of what you've done to setup your pfpro? It would help a lot. Plus leave a legacy for people to avoid these problems in the future.

                    good luck everyone
                    -danny

                      Hmmm,

                      I get a Result from Verisign of 0, Approved, using the test-xml.sh file, but not with the test.sh file....

                      Interesting....anyway....keep the comments and suggestions coming.....

                        Well, I'm going to put this on hold for a bit, and go ahead and try the cgi and or wrapper to pfpro. I know it's not as secure, but I need a solution now. time is a wasten, and my sanity is going with it. But, i'm going to keep trying at this. a built in extension is far more elegant than a wrapper, even more so than a cgi script.

                        keep me posted on your progress gentlemen...

                        -danny

                          • [deleted]

                          what i did to install pfpro

                          Actually I haven't got round to testing the functions. I'll get back as soon as I do that.
                          What I did to get it to compile->

                          Am using php 4.1.1 and apache 1.3.20 on Red Hat 7.2

                          I did a ./configure --with-pfpro=/usr/verisign/payflowpro/linux

                          with also a few other options.

                          Then I edited the config_vars.mk under the

                          EXTRA_LIBS = -L/usr/verisign/payflowpro/linux/lib .. .... -lpfpro

                          (the lpfpro was there already, I inserted
                          -L/usr/verisign/payflowpro/linux/lib at the beginning of the line as above.

                          Then I ran make and it seemed to compile ok, ran make install and restarted apache, did a phpinfo() and I could see the Payflow Pro support enabled. I'll test the functions first and see what happens.

                          try and see if it works on your system

                          Josiah

                            Well, I tried what you did and did a ./apachectl restart. Nothing new.

                            When you say that you saw that pfpro was enabled, did PHP open up a new colored table denoting the pfpro configurable variables? If that's what I need to see, I don't see it yet. Though i do see --with-pfpro=shared,/path/pfpro/linux/ in there. As well as the PFPRO_CERT_PATH env variable. but that's all...

                            -danny

                              • [deleted]

                              You managed the compile OK?
                              What I get when I do a phpinfo() is, yes, a new colored table with some directives like the default host, port etc.
                              I can't test my connection to verisign because I'm behind a ms proxy and I can't seem to get out, but I'll try it as soon as I'm able to.
                              Josiah

                                Hey Dan and others,

                                I am testing the pfpro wrapper, but am wondering about the best way to deal with executing the pfpro binary, and dealing with the results which come back from Verisign. I have tested with the exec() and passthru() functions.....

                                You guys have any words of wisdom?

                                I am no security expert and want to use this wrapper, but I also want to make sure I am not posing a huge hole in security by executing this process in the background......anyway....let me know your thoughts.....

                                Thanks,

                                Carl

                                  2 months later

                                  I can't even get to make. When I do my ./configure --with-pfpro I get:

                                  ./configure: nm: not found
                                  ./configure: nm: not found
                                  configure: error: The pfpro extension requires version 2 or 3 of the SDK

                                  Now, I have version 3.05. Hmm...

                                  I'm running on Solaris 8.

                                  Any ideas?

                                  _The Beastmaster

                                    Sorry, ignore the nm lines, that was stupid path stuff. But I still have the configure: error: The pfpro extension requires version 2 or 3 of the SDK error.

                                    Thanks!

                                      19 days later

                                      I know that it has been awhile. But has anyone recently/ever been able to get payflow pro installed on their machines?

                                      I am despately trying at the moment and utterly failing.

                                      John

                                        a month later

                                        I tried to compile with the --with-pfpro=/path/to/verisign. It compiled and installed (make install) OK but apache would not start!!!

                                        So. I used the --with-pfpro=shared,/path/to/verisign. It compiled and installed. I started apache. But the pfpro stuff did not work! phpinfo() did not show pfpro enabled.

                                        When you compile with the shared option it creates a pfpro.so file. You can load the pfpro.so at run time with the id() command. But that sucks. So in your php.ini file add:

                                        extension=pfpro.so

                                        You will need to find where your pfpro.so was created. You can tell php where to find extentions by adding it to the extension_dir directive such as

                                        extension_dir = /usr/lib/20020429

                                        Now phpinfo() shows pfpro enabled.

                                        Hope this helps someone,
                                        Wes

                                          Write a Reply...