New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #22745 (closed enhancement: duplicate)

Opened 3 years ago

Last modified 21 months ago

php5-odbc: iODBC support

Reported by: emgillis@… Owned by: ryandesign@…
Priority: Normal Milestone:
Component: ports Version: 1.8.1
Keywords: Cc:
Port: php5-odbc

Description

I did search the tickets database and various documentation sources, but could not find anything that matches my request. If I missed it somehow, I do apologize.

I know that php5-odbc is the currently supported module, however it does not seem to support "iODBC", but only "unixODBC". Since "iODBC" is what is installed on OS X by default, it would make sense to have the "iODBC" support. Also, because not all drivers are compatible with one project or the other. For instance, there does not appear to be a Sybase Driver compatible with unixODBC on the Mac OS X platform -- easySoft's seems to only support AIX, HP-UX, Linux, Solaris. But there is an iODBC Sybase Driver for OS X developed by ActualTechnologies.

In short, it would be nice to have a module something like:

php5-iodbc

and

php5-unixodbc

Or perhaps be able to pass a flag or parameter like:

php5-odbc [+iodbc | +unixodbc]

I have only noticed the inability to use iODBC with the macports php5 build since the latest update to php 5.3. I have not tried the "devel" version because this option is needed on a production server that I'm doing setup for at the moment.

Thanks!!!

Change History

comment:1 Changed 3 years ago by emgillis@…

  • Cc emgillis@… added

Cc Me!

comment:2 Changed 3 years ago by emgillis@…

Small update, mistakenly stated that I noticed the issue for IODBC support on the php5 build since the latest update to php 5.3... the version should actually be since php 5.3.1

comment:3 Changed 3 years ago by jmr@…

  • Cc emgillis@… removed
  • Owner changed from macports-tickets@… to ryandesign@…
  • Type changed from update to enhancement

comment:4 follow-ups: ↓ 5 ↓ 6 Changed 3 years ago by ryandesign@…

  • Status changed from new to assigned
  • Port changed from php5, php5-odbc to php5-odbc
  • Summary changed from php5 with iodbc support to php5-odbc: iODBC support

php5 used to use Mac OS X's iODBC support; in fact there was no way to turn it off. I removed this in r58589 when updating php5 to 5.3.0_3 in my continuing effort to make php5 install only the core functionality and move other features to separate ports. When I created the php5-odbc port in r58581 I made it use unixODBC instead of iODBC because there is a port for unixODBC and there is not a port for iODBC, and MacPorts policy says we should use libraries provided by MacPorts, not libraries provided by Mac OS X.

Having separate php5-iodbc and php5-unixodbc ports is not appropriate, since they would both be installing the same php module, just linked to different libraries. Instead, we should continue to have just the single php5-odbc port with variants for which ODBC library to use.

Can a port for iODBC be created? If so, I can make a variant in the php5-odbc port to use that. If a port cannot be created or there is a reason why it should not be created, I can make a variant in php5-odbc to use Mac OS X's iODBC.

I don't use ODBC and have no idea about the relative merits of unixODBC and iODBC. Is there a strong consensus that one is better than the other? If so, I should make that one the default.

comment:5 in reply to: ↑ 4 Changed 3 years ago by emgillis@…

Well... much to my embarrassment, I got everything working after I submitted the original ticket. Many apologies for any of this, it may have been the stress of setting the system up and being under a deadline. The fix for me was to use the "php5-odbc" as it is built, but properly configure the "odbc.ini" and "odbcinst.ini" files properly and storing the in the correct location (the ini files being the correct location was the key for me). However, due to my lack of complete knowledge on the odbc subject, I wasn't quite sure how to manually edit the ini files and had to use the odbc manager or odbc administrator utilities and then copy the generated ini files. I say this for anyone else who may get caught in a similar way with the differences between the built in iODBC and the unixODBC which gets installed via the "php5-odbc" port.

comment:6 in reply to: ↑ 4 Changed 21 months ago by ryandesign@…

  • Status changed from assigned to closed
  • Resolution set to duplicate

Replying to ryandesign@…:

Can a port for iODBC be created? If so, I can make a variant in the php5-odbc port to use that. If a port cannot be created or there is a reason why it should not be created, I can make a variant in php5-odbc to use Mac OS X's iODBC.

Resolved by #25967.

Note: See TracTickets for help on using tickets.